I don't ride in snow often enough to remember not to shift when my cogs get packed with ice. I shift out of habit without thinking, then when I shift back to the cog that was working, sometimes it's too late.
I've poured hot water on my cogs to de-ice them. Urine works also, but these are temporary measures and the ice comes back fast.
I don't think the chainrings can't get full of snow/ice. I usually don't have fenders on my bike and it's never happened to me.