Shelley, this is a good plan, but I strongly recommend you go for an "open jaw" flight, flying into Zürich and out of Vienna, or vice-versa. Switzerland to Vienna is a long haul (although pretty as it goes lengthwise through the Alps), you do not want to double back on yourself.
Train definitely, Trains go where cars can't (like up mountains), don't need to be parked, allow you to look at the scenery instead of the road. And cars are a liability in cities, and need to be returned to the country you hired the car in.
After you land in Zürich, I recommend you go direct to Luzern for 2-3 nights. This is only 1½ hours by train from Zürich airport, is a major tourist town and a good base for exploring the surrounding mountains and lake.
Then you can move on to the Berner Oberland for ~3 nights. This is a number of smaller locations above Interlaken (Grindelwald, Lauterbrunnen, Wengen, Mürren etc.), pick one.
Then you can catch your all-day train journey to Salzburg (2-3) nights.
Finally a train onwards to Vienna. Vienna is not "quaintness of small villages", it is a large city with lots to see.
All these places you can look up for further info. You can add extra days to whichever you fancy. Another popular place is Zermatt, I have excluded it as you already have 2 places in Switzerland, and Zermatt is in the wrong direction if you are going on to Austria.
Also investigate the Swiss Travel Pass ( https://www.sbb.ch/en/leisure-holidays/holidays--short-breaks-in-switzerland/swisstravelsystem/swiss-travel-pass.html ). It covers all trains and buses in Switzerland, and is usually good value when you count in all your day trips in and around the mountains.
I always find a map helps me visual where everywhere is. Click here for the official Swiss Railways map.