Layers work best for me
I use neoprene booties as part of a layering system. Here are my layers, which vary depending on how cold it is
1. polypropylene socks - keep your skin dry
2. regular cycling socks - no cotton!
3. a plastic bag (not always, though - keeps warmth in, but also holds in sweat)
5. oversized, super-thick synthetic hiking sock with a big hole cut out for the cleat and an extra layer of fleece attached above the toe/top of foot.(I wear this layer when its very cold, say 0-20* F)
6. neoprene booties
I also have an extra foam insole to provide better insulation to the bottoms of my feet.
I'm going to try to make little booties out of tyvek in place of the plastic bags so that they breathe better on long rides.
Pro's: Adaptable - can use more/ less layers depending on temp., Don't have to buy winter shoes
Con's: takes a long time to put everything on, neoprene booties wear out pretty quickly if you have to hike-a-bike w/ MTB shoes on.