I've been to all 3 of those cities at Christmastime, and you have made excellent choices. They are all three fanstastic, each for their own reasons. These are three of the most beautiful cities in all of Europe, and you are going to have an amazing trip!!!
Budapest
Budapest is probably my favorite city in all of Europe. I unexpecetedly got stuck there for about a month (it's a long story!) from late December to mid January a few years ago and fell in love with the place. So I know a little more about Budapest than the others.
There are several Christmas markets sprinkled throughout the city, but the one around Gresham Palace & the Scechenyi Square is the the best. There is a large ice skating rink set up as well.
Vorosmarty Square also has a large Christmas market.
In addition to the Christmas markets, Budapest may have be the best historical museums in all of Europe, especially when it comes to 20th century history.
The House of Terror might be the best museum I've ever been to and is focused on all the oppressive regimes of Budapest history, from the state police prior to WWI to the Nazi occupation, but its greatest focus is on the Soviets. It's located in the former pre-WWI state police headquarters which was converted into the Nazi gestapo headquarters and then the AVH (Hungarian version of the KGB) headquarters.
The Holocaust Memorial Center rivals ours in DC in its ability to tell the story in my opinion, but with a Hungarian focus.
The Hospital in the Rock & Nuclear Bunker (on the Buda side of the river) is a fascinating depiction of WWII & Cold War history that you've never considered.
If you have time, Memento Park (by bus just outside of town) is an outdoor museum with several dozen Soviet-era statues and monuments (some are absolutely massive!) that were saved & stored as the Soviet Union collapsed in Hungary. It's a unique experience unlike no other. It also has a small museum dedicated to telling the story of the downfall of the USSR in the area and does a great job of telling the story in a concise, yet effective manner.
Strolling the Danube & seeing the Buda side from across the river, the Hungarian Parliament area, Liberty Square (with the Hungarian War Memorial, Ronald Reagan statue, & George HW Bush statue), Hungarian War Memorial, Margaret Island, Vaci Street, Balna and the Great Market (Nagyvasarcsarnok), Hero's Square, and Varosliget Park are all some of the most beautiful places you'll ever see, especially at Christmastime and even moreso if it's snowing.
I'd also suggest strolling through the Jewish Quarter and checking out the Dohany Street Synagogue. It's the 2nd largest in all of Europe and rivals just about any cathedral you'll ever see, but it's very different at the same time. It can be quite moving, especially with the attached museum & grounds.
The Buda side of the river is magnificent. Fisherman's Bastion and looking out over the Danube & Pest is a must-see. Matthias Church, the castle & Castle Hill are all beautiful. The Cave Church nearby will show you a very different take on Christian worship than the extravagant cathedrals you'll find throughout the rest of your trip.
The baths are fascinating, especially in freezing weather. There are several to choose from, so I'd suggest spending a little time trying to figure out which one best suits you. Some are more like modern swimming pools & resorts, some are more like old-timey hot springs spas, some feel like a Roaring '20s YMCA swimming center, some are just totally different.
Gozdu Udvar (Gozdu Courtyard) is a cool place for restaraunts, cafes, shops, & bars.
Budapest is also known for its ruin bars, like Romkert and Eleszto. But Szimpla Kert is the grandaddy of them all, and I would suggest at least a short stroll through even if you can't stay long. It's different and it's fascinating. And just a block or so away is a great little street with about a dozen or so food trucks that is frankly a pretty awesome Hungarian take on the otherwise American food truck experience.
The New York Cafe and the Art Nouveau Cafe are both wonderful for breakfast or cafe-type meals in a fascinating atmostphere.
I would never normally suggest going to McDonald's, but Budapest has the 1st western establishment (McDonald's) in existence once the USSR collapsed (it's on Vaci street). Budapest also has the most extravagant McDonald's in the world with a huge crystal chandelier and multiple stories of what looks like fine dining (but is still McDonalds). It's weird, but it's interesting.
You will not have time to do all the things I listed in 3 days, but this should be a good list of things to pick from.
Vienna
Rauthauspark (City Hall & the surrounding grounds) has the best Christmas Market and offers an interesting ice skating opportunity where instead of large ice skating rink, it's a large honeycomb of interwoven skating paths. Some even go off in through the woods like a short little hiking trail but on skates. It's really interesting, different, and romantic.
St. Stephen's Cathedral & the surrounding Stephensplats is also offers a pretty solid Christmas market. The Mozart museum located in the apartment where Mozart composed many of his most famous works is about a block away. It's worth a stop if you have time.
Vienna has several palaces, cathedrals, plazas, and parks that rival just about any city in Europe as a whole. Most of them have some sort of Christmas market outside during Christmastime. The Winter Palace, Belvedere Palace, Schonbrunn Palace, Karlsplatz, Riesenradplats & Prater...they are all probably worth a little time. Schonbrunn Palace & Belvedere Palace especially.
The whole city if just beautiful. Volksgarten & Stadtpark are absolutley stunning with a fresh layer of snow.
Vienna has much better art museums than Budapest as well if that piques your interest.
Prague
It's been so long since I went to Prague, I don't know that I'd be much help. Visiting Prague during the Christmas markets was my very first trip to Europe, and it blew me away. I was so overwhelmed, it's too hard for me to remember enough details to really help you. But I can tell you that Prague during Christmastime was one of the most beautiful things I've ever seen and made me fall in love with traveling to Europe. Twelve years and 16 countries later, I often think back to Prague and the effect it had. You're going to have a great trip!