Is this doable?
Glacier Express from Zermatt to Visp
Visp to Zweismann - regular train
Zweismann to Montreaux - Golden Panorama
Montreauz to Geneva along the lake regular train.
You don't need to take the Glacier Express between Zermatt and Visp. It's served by regional train every half hour.
Yes, that plan is perfectly doable in a day, as fast as 6 hours and 4 connections. You can search for each schedule separately, but the schedule searches through DB www.bahn.com (and probably also SBB.ch) allow you to specify two midpoints to help define the route, such as from Zematt to Geneve via Zweisimmen and Montreux. I hope you're traveling June 2 or later because there's construction on the Golden Pass line before that date. If you depart Zermatt by 9:30 you can meet the panoramic car departing Zweisimmen at 12:30, for instance.
Laura,
Thank you for the suggestions
As I was just reminded, trains do run from Zweismann to Montreaux during the current construction, but without reservations and with a replacement bus on one section.
I am going in the last week of July, so it should be fine.