A good article on places to stay outside of the large towns and cities: 11 Places to Stay in Switzerland for Epic Views of Alpine Peaks and Glittering Lakes.
An interesting mountain guest house is Berggasthaus Aescher.
Berggasthaus Aescher |
In Zurich, the St. Gotthard Hotel is a good 4-star hotel only a block from the Hauptbahnhof. It looks very old from the outside but rooms are modern.