Could anyone tell me the best way to get from Prague to Venice?
If it were me. I would avoid going through Austria. It is a slow train that goes from Prague to Austria.
There is a train that departs Prague hl.n (Praha) at 17:16 and arives in Munich (Munchen) on platform 26 at 23:26. I would arrive at the station early. Make seat reservations. Guard and lock your belongings. We had a Czech friend with us that spoke 5-6 languages and still had a problem getting seat reservations even tho we knew the train number. It was not due to lack of seats either. They were still in the Soviet mode. They do things the long and hard way.
A direct night train departs Munich at 23:40 on platform 12 and arrives in Venice (Venezia) at 07:23 am. Reservation necessary.
Special offer Spar-Night, Subject to compulsory reservation, Global price, Global price or ticket plus supplement, Sleeping-car, Couchettes, seated coach, snacks and beverages available from sleeping-car/couchette-car attendant.
The standard fare for Praha-Muenchen is 51.30 EUR. You can book your ticket at www.bahn.de. Click on "Internat. Guests" to view the site in English. SparNight fares for the Muenchen-Venezia Santa Lucia night train start at 29 EUR. (However, I'd recommend you get at least a bunk in a couchette.) You can book your ticket at http://buchung.nachtzugreise.de (omit the "www"). Click on the British flag to view the site in English.
If you can handle some German, you can save a bit of money on the Praha-Muenchen leg. A ticket from Praha to Furth i Wald (Czech-German border) costs 18.70 EUR. A Bayern (Bavaria) ticket from Furth i Wald to Muenchen costs 19 EUR. Go to the English version of bahn.de and click on "Offers for Travelers in Germany," then on "Regional Tickets," then on "Click here to find more information on "Laender Tickets.'" Then click on "Ticket Shop" to order a Bayern ticket. (The site will revert to German.)