- Wicking base layer to remove cold sweat from your skin
- Wicking thermal mid-layer to provide insulation. I usually go for a lightweight fleece as a mid-layer.
- Breathable windproof / showerproof top layer. I don't ride in a full waterproof as they usually aren't breathable enough for cycling, so a windproof to keep the elements away is better.
- Full pack-away waterproof. This is a last resort when it gets really wet. It will be uncomfortable to ride in but will stop you getting completely soaked.
Different people experience different problems riding in cold weather. I find my hands and feet can get very cold. To reduce this problem I wear either fleecy gloves in good, cold conditions or waterproof fleece-lined gloves in wetter conditions. These reduce the feel you've got for the controls on the bike, but as with everything it's a matter of compromise.
To keep my feet warm I typically wear Sealskinz waterproof socks. These have a neoprene layer integrated into the fabric which do a reasonable job of keeping your feet dry. Even when they fail and your feet become wet they do a good job of keeping the water warm!
Finally I will wear some good quality riding shoes. When riding on the road I typically wear my walking boots. I figure if my bike goes wrong there's a good chance I will have a long walk ahead of me, so I should be comfortable. On the mountain bike I favour Five Ten shoes. They aren't very waterproof, but they are warm and the soft rubber means you've got reasonable grip on frozen ground.