but it that was the case the first few results would rarely, if ever change
Of course they would change. CTR is not the end-all be-all. It's simply a factor, maybe a huge one but not 100%. Website owners change their titles and page descriptions all the type not to mention content. That will have an effect.
Search engines also don't show the same results in same order all the time. Google especially figures in geography and previous searches. They'll "mix it up" too just to gather data. Wouldn't make too much sense to have data always for the same position for a listing, that wouldn't tell them much.
It's the same in paid search. I may have the best ad around and bidding high but my ad doesn't show in the first position (or the same one) all the time because they want to see how it will perform in other positions.
This is the likely reason people see big "jumps" in their listings, especially for new pages. Google is simply testing the page out. It's giving you the benefit of the doubt and gathers important information in doin so.
Oh, and they likely use sophisticated methods to predict what your page's CTR will be before you even get a single impression. So a preliminary page score is figured out (let's call it a Quality Score for your page listing similar to a QS for ads) and then adjustments made as factual data comes in. Just like your QS for ads can and does change, so does your page's QS.
The idea of the QS for ads is for the best ads to rise to the top and the main factor is click rate. No reason not to use the same principles to SERPs. You want the best listings (better quality as measured by CTR) to rise to the top as well. The big difference for SERPs is that the CTR factor may have a weight of 25% whereas in Adwords it's more like 70%. Your overall quality for your SERP listing is affected by content, backlinks and other quality factors.