Hiya. My husband and I live in Gerrards Cross - on the Chiltern line - and like it a lot. It's VERY VERY VERY expensive, but we rent a 2 bedroom terrace house with a big garden for £850 which is a lot, but a lot less than London. The train line is SUPER convenient, and once a day there's a train that goes to Paddington as well. The drawback is that Gerrards X is not a very pretty village and if you're looking to emerse yourself in Brit. culture, the place is teeming with American families for some weird reason (which actually could put your kids more at ease at first....)
I'd recommend old Beaconsfield ("new town" is the one on the Chiltern line, but "old town" is much more quaint. It's about a 15 minute brisk walk/20-25 minute stroll from the train station to old town.) It has more amenities than Gerrards Cross, but that will change by Autumn when a giant Tesco opens in Gerrards Cross. Seer Green is cute and has a station. Those two are two stops further than we are (takes me 35 mins to get to Marylebone.) Closer in the only place I would suggest would be Denham Golf Club area - New Denham isn't terribly attractive.
Old Amersham is nice but it's a hike to get to the station (which is in "new town" - funny all the villages out here have an old and new half!) New Amersham has a tube stop but is sort of a pit IMHO.
I'd avoid central areas of High Wycombe, Aylesbury, and Chesham (though both have nice areas surrounding them) as they're more impersonal towns and can be rough in the wrong areas.
Honestly, looking at your wants I'd say Beaconsfield and Gerrards Cross are your best bet - decent shopping, great transport links to London, I've never seen a rental without a garden, and definitely surrounded by some lovely countryside. They both have an element of "suburbia" to them, but if you don't want a commute that's over 45 mins I think you'll get that pretty much wherever you go.
Send me a PM if you want any more info - and I'm more than happy to pass judgement on places in Gerrards Cross for you if you want someone to walk by a specific house. Also, use
www.upmystreet.com to check things like crime rates.