This is going to sound kind of dumb, but here's what we use in Vancouver during the cold, rainy winter. Quite a few of us racers have found that your feet will get wet after two hours in the rain no matter what overshoe you use. It's still important to use a good one, but a lot of us use a second layer.
After putting on our socks, we take a thin polyethylene bag like a supermarket shopping bag and put it over our foot. Put the foot with bag into the shoe and adjust until it's comfortable. Next, cut off the excess bag and use duct tape to attach the bag to your ankle/leg.
Do up your shoes and put on the overshoes (we call them booties). This is pretty much guaranteed to keep your feet dry and warm no matter how wet it gets outside.
John Swanson
www.bikephysics.com