A factor to consider is budget.
While there is indeed plenty to see for 27 days in Switzerland, daily costs are significantly higher than in the neighboring regions of France, Italy, Austria and Germany.
So, spending a few days in, say, Alsace, Bade-Wurtemberg, Bavaria, Tirol, Savoy or the Italian lakes will bring costs down and add some variety, without detracting from your enjoyment of Switzerland.
To be more specific:
- 3-4 nights in Alsace combine well with a stay in Basel, Luzern, or Zürich
- a stay in the Lake Geneva region can easily be extended in Chamonix (2-3 nights rec.) and/or Annecy (2 nights).
- the Italian side of Lake Maggiore (e.g. Stresa, 2-3 nights) is quick to reach from Zermatt or the Berner Oberland.
- Lake Como (e.g. Varenna, 3 nights) is easy from the Engadine/Bernina Railway or from Lugano
etc. for Austria and S Germany but I don't know those as well.