4 hours is about right for that journey. (Unless you go via London, you have to use 'cross country' lines, which tend to be far slower than routes into the capital).
The London route is more expensive when using normal off-peak 'walk-up' return fares (£101.60 as against £81.60) but there are currently 'Advance' single fares totalling £63.50 for the return journey via London on offer. (Remember that, if you use two Advance singles, you can go out on one route and back on another. You can also use a 'via London' Return ticket on a cross country service in one direction if that suits your travel plans).
For minimal changes though, simply change once at Ely (or at Peterborough - it makes no difference, you still use the same trains).
As Dzug2 indicates, you should NOT use any 'third party' website, such as the abysmal Trainline. They can't offer any tickets that aren't available here
http://www.nationalrail.co.uk . Further, they often add on charges that you can avoid by going through the National Rail site and not infrequently manage to issue tickets that aren't actually valid for travel on any train. (I know. I used to run a railway station and encountered loads of problems with tickets incorrectly issued by the Trainline).
As has been indicated above, Whittlesford is the closest station to Duxford but there's no bus from there and, unless you pre-book, no taxi either. Given that a free shuttle bus service operates from Cambridge station on airshow days, I'd still recommend using Cambridge.