As long as you don’t have to go back to Geneva every night, it’s fine.
Itinerary would be something like:
- DAY 1: Geneva - Brig - Andermatt - Disentis - Chur
- DAY 2: Chur - Tirano - Bernina Express bus to Lugano (16 CHF, book in advance)
- DAY 3: Lugano - Lucerne (make sure it’s written Gotthard Panoramastrecke) - Interlaken
- DAY 4: around Interlaken - Montreux - Lausanne - Paris
Or the other way around… a rough idea at least.
Book ASAP if you’d like to travel on the Glacier Express and the Bernina Express panorama carriages. They are likely sold out for July but you don’t lose anything by taking the hourly regional trains along the same route. Less busy, sometimes pull-down windows, reservation-free,… :)