In my experience and from what I’ve read, cotton, wool, or synthetic shirts of the same thickness all pretty much insulate to the same degree, at least in dry conditions. Merino wool long johns of a given thickness aren’t noticeably different from cotton long johns of equal thickness. There is probably some difference, but I’ve never noticed it.
None will feel truly *warm* when fully wet. None will insulate well when soaked. Supposedly merino wool performs better in that case, and I buy that, but I’ve never seen anyone show the numbers. If it’s only a few percent better at insulating, you’d never notice, even if technically true. If someone knows the numbers, please share.
The one difference I do know of from my own amateur experiments is that cotton appears to absorb more water per weight than merino, and more still than a polyester synthetic (especially fleeced). My experiment showed something like 40% more than wool. Synthetic only slightly better than wool. That’s generally a good thing, especially if the source of water is external, because water sucks out body heat both through conduction (much more conductive than air) and evaporation. More absorbed water = more heat loss. It also means soaking up less sweat.
If you’re really cold, use down or down-like lofted synthetic jackets. Base layers of any fabric won’t do it.