Travelling by train between Hungary and Switzerland is a spectacular journey, taking about 13 hours in total. There are a couple of direct trains from Switzerland to Hungary every day, but you can also travel direct to Vienna from Zurich and change there to Budapest.