Layering is really important here, because the amount of heat and sweat that your body generates varies a lot with activity level, and the sweater and pants that kept you warm on the hike in to the campsite will not keep you warm when you are sitting around camp waiting for water to boil. Likewise, the heavy coat that keeps you warm in camp will leave you sweating when you have to cut wood or break a trail, and sweat is bad news when winter camping. Breatheability is also vital to longterm comfort.
Personal anecdote: on my first dogsledding trip, I wore shell pants and a jacket both made of Goretex, because I was afraid of getting wet from the snow. With only a small amount of aerobic activity in below freezing temps, I was quickly soaked to the skin with sweat, which then left me cold whenever we stopped moving. Goretex and other membranes just don’t breathe enough in the cold. I might as well have been wearing a garbage bag over my clothes.
For dogsledding trips now, I wear a thin-to-medium wicking synthetic (or wool) underlayer, covered by a medium synthetic or wool insulation layer like a fleece jacket or wool pants, covered by a thin, breatheable wind layer, usually synthetic, although tight thin cotton weaves will work when the temps are reliably sub-freezing. I also keep a down coat easily available. Thin liner gloves and windproof outer gloves go together as a unit. I wear one set of this outfit and have a second set packed away, but accessible. Multiple, thin layers are preferable to one or two heavy layers. For headgear I have two fleece tubes that can be cinched closed to form a hat, or used open as a neck gaiter or face mask. I prefer items with zippers or snaps to those that you have to pull on or off, since that makes changing layers easier and adds a degree of adjustability to the layers: open vs. closed. My shell pants have side zips that let me vent them when skiing or snowshoeing. Having your change of clothes accessible can be important; I postholed through the ice up my chest once, and I was able to pull out my spare clothes and get changed completely within five minutes.
The key to comfort and safety is to frequently assess what your activity level is and whether your clothes match it. If you’re going to be active, dress ‘cold’ at the start and add layers if needed rather than the other way around. If you’re going to be sedentary, check yourself for dampness and switch clothes as needed. And by ‘frequently’ I mean every ten minutes or so. I probably drive other folks in camp crazy by taking my coat, hat, and/or gloves on and off every couple of minutes, but I know that I’m never cold or wet anymore like I used to be, and the experience is much more pleasant. Getting kids to do this is tricky and might just have to be enforced as a rule.
All of the above really applies to camping in temps that are reliably below freezing; if you are in a spot that is warmer than that, with the possibility of wet snow or rain, then it makes sense to have a thin waterproof outer layer to prevent water going the other way, from out to in. But being in a 35º rainstorm while hiking is never going to be comfortable, just survivable.
ETA: synthetics aren’t inherently waterproof, they just don’t retain water to the degree that cotton (and to a lesser extent wool) do. So you can wring out your fleece jacket and beat it on a rock a few times and it will be drier than a cotton sweatshirt given the same treatment. It will also be easier to dry out near a fire, but will be more susceptible to burning/melting than cotton and wool will.