I stay away from cotton in the cold weather as layers as it absorbs but not wick away moisture from your skin thus you get cold and/or are clammy.
I will use varied layers of varied clothing as weather dictates.
For instance my last ride was at 17f with a light wind. My first layer was a Pearlizumi long sleeve light weight base layer to wick away sweat, my second layer was another long sleeve mid weight layer with a high, zippered collar, over that went my Castelli thermal jacket. I was comfortable for the 30 mile ride. I used the zippers to control body temp during the ride.
I also have a short sleeve, wind front, light weight base layer and a Craft long sleeve mid weight, wind front base layer I add as I feel necessary. I don't use the wind fronts with the Castelli jacket as the jacket is very wind proof but I do use them almost exclusively in the fall beneath a long sleeve jersey, etc.
I feel it is best to own a good quality light weight, long sleeve base layer...long sleeve, mid weight base layer and a good thermal/wind/water resistant jacket. Also a short sleeve light weight base layer. A wind front, long sleeve base layer rounds out a very good cool to very cold weather layering system for all outdoor activities...walking, running, riding, shoveling, snow throwing, skiing, etc.
It may be a bit costly at first buy I strongly recommend buying high quality clothing/materials...it is well worth it in the long run and comfort/warmth wise.