One reason your feet can get cold is sweat. You ride hard for a few hours, your feet sweat and when you take it easy for a while you become cold because of the sweat. One way to combat this is with thin socks. Your feet won't get as hot, therefore, less sweat. Another trick I use, especially in the spring when it's warmer is to put a little bit of baby powder in your socks before you put them on. This will get rid of the sweat before it has a chance to make your feet cold, as well as making your boots smell a little less like ass.
I buy Smartwool as well. I like the socks they market as "racing socks" because they have very little padding, but just enough in the areas that you need.