Hmmm... Interlaken-Salzburg is basically 7-8 hours, Salzburg-Budapest around 6 hours, Budapest-Prague around 7 hours. In most cases the trains are rather good, so we would say it is not a problem to travel 6-8 hours at a time.
Interlaken-Salzburg: SBB website sells only Zurich-Salzburg ticket online (from 50 CHF,
https://www.sbb.ch/mct/wi/shop/b2c/pipSchritt_2.do), but Austrian Railways website offers Interlaken-Salzburg (we found for as low as 39 EUR,
https://ticket.oebb.at/bin/frame_ticket.pl?ticket=jticket.pl&LANG=EN). In both cases purchase in advance required, usually couple month in advance is enough to get the best fare.
Salzburg-Budapest: also better to purchase in advance, either from already mentioned OeBB website (from 39 EUR) or same tickets sold by DB as well (same 39 EUR for daytime or from 29 EUR for overnight train Munich-Salzburg-Budapest).
Budapest-Prague: actually Hungarian railways does sell discounted tickets online, but interface is only in Hungarian though, not very difficult, so google translator usually enough. Budapest-Prague daytime starts from 19 EUR (
http://www.mav-start.hu/eticket/nemzetkozi_e_ticket.php). Same discounted tickets can be bought from the ticket counter at the station, but only at least 3 days before departure.