Vienna, Bratislava and Budapest are very close. I did Budapest to Vienna and back in a day, 3 hours each way on the train and was a great day.
Bratislava is closer to both and you can also take the hydrafoil as a bit of a change.
Lake Como is very easily reached from Milan and a beautiful place, itself only 50 mins from Switzerland.
Or you could do Rome, (Florence), Venice, Vienna, Bratislava, Budapest.
Or Rome, Florence) , Venice, Milan, Como, Geneva, Zurich, Vienna, Prague, Berlin, Warsaw, Krakow, Bratislava, Budapest.