Zürich to Luzern: Standard trains, run by Swiss Rail (2/hr, 1 hr). Luzern to Interlaken Ost: Narrow-gauge panoramic trains run by Brünig Railway (5/day, 2 hrs); also standard trains by Swiss Rail (hourly, 2 hrs).
Interlaken Ost to Zweisimmen: Direct panoramic trains run by Golden Pass (2/day, 1 hr); also standard trains run by Swiss Rail (at least hrly, 1.25 hrs, requires change in Spiez).
Zweisimmen to Montreux: Direct, narrow-gauge panoramic trains run by Golden Pass (5/day, 2 hrs); also standard trains run by Swiss Rail (9/day, 2 hrs).
Montreux to Geneva: Standard trains, run by Swiss Rail (hourly, 1 hr).
Planning Your Time:
However check schedules along the way and plan your layovers strategically to maximize time on the panoramic cars. For example, if traveling from Luzern to Lake Geneva, consider taking the 8:55 panoramic train from Luzern to Interlaken Ost (arriving 10:45), then wander in Interlaken and have lunch before catching the 13:25 panoramic train to Montreux (change trains in Zweisimmen at 14:23, arrive Montreux at 16:13).