I've been to all three. Vienna twice in January and Prague and Budapest in January. Budapest looked magical with a fresh snowfall that melted in a day or so. Only problem was, I kept falling because my Uggs were slippery, and it was a wet snow so pants and boots were always wet! Sooooo, make sure you have warm, waterproof/resistant clothes and shoes/boots with nonslip soles. For me, 25 to 35 degrees isn't all that cold, BUT, this is what I learned. Churches NEVER warm up. Buses/subways etc. are never really warm. If you are outside most of the day sightseeing and going in and out of older buildings, it feels colder. Both times I was in Vienna, not only was it chilly, it was on the windy side. My son would say he was cold and wet for 2 weeks and wore the same clothes every day because he wore every outer garment he had! He would also say that he had an absolutely wonderful, magical time. We had no problems with crowds and were able to get into Budapest's parlament for an English language tour. We did get lucky in Prague. We had mid 40s, and blue sunny skies. Prague can be so busy in high season and to us, it did seem like there was a fair number of tourists but nothing like what I hear about in the summer. While I would like to see both Budapest and Vienna when its warmer, I would go back to those wonderful cities in a heartbeat, anytime of year. Pack layers so you can choose various combinations depending on forecasted weather--long underwear, rain or unlined snow pants, turtle neck, light fleece jacket, raincoat, mid weight coat, warm and lighter weight gloves, hat, gator, wool sweater, wool socks. It was amazing how much warmer my fleece jacket or midweight coat would be with a rain coat over the top. I'm not sure about December, but January in Vienna was opera season. We waited in a rush line at the opera house and paid a ridiculous 3euro I believe for standing room opera tickets for Hansel and Gretl. The coffee shops are even more delightful when you are ducking out of the cold.