There are three different "flavours" in Switzerland that may influence where you stay and for how long. The German, the French and the Italian parts of the country have quite distinct characters, so depending on what kind of traveller you are, you will want to stay in a central spot within that area.
Eg. The Italian area features two great towns - Locarno and Lugano - with lovely vistas of the alpine lakes and some great spots for hiking. There are nice little albergo's where you won't spend as much as in hotels.
The French area has large cities (eg. Geneve and Lausanne with lots of hustle and international bustle - as well as shopping) but the charming smaller towns like Fribourg, Montreux and Sion offer history and castles and great wines/food.
And the German area has wonderful museum towns like Basel or noisy lively international banking centres like Zurich, but for plain-spoken people and picturesque history I would go for Bern, Thun and the Berner Oberland.
Finally the Berner Oberland is your entry into the best Alpine train routes - try to stop at the Blausee if you can.
Avoid Grindelwald, Interlaken and St Moritz - tourist traps.
And the most central spot of all is the capital Bern - everywhere in Switzerland is reachable within max 4 hours by train from there.