Our family of 3 are coming overseas in August 2018 and landing in Milan, Malpensa Airport. We then want to go up to Lake Como for a night and then possibly Oggebbio or Verbania for 2 nights before moving on to Zermatt for 2 or 3 days and then Montreaux for a week with timeshare and then flying out from Geneva Airport. I have looked into hiring a car but the prices are astronomical when you pick up and drop off at different destinations.
Is there any possibility of just using public transport, trains, etc to get around or will that limit our freedom considerably? Also will it work out even more expensive?
Rent the car in Varenna Italy or thereabouts. Explore Como go to Oggebio then to Verbania. Drop the car off in Verbania Italy Take the train from Verbania to Zermatt in a little over 3 hours if you leave at 845am
The problem is not so much different destinations, it's different countries. If you can pick up and drop off in the same country, I think you'll find the cost not so bad. If you have a Swiss car, be sure you drop it in the right place near Geneva; I believe dropping in France is an option there as well.
Others will be able to comment better on how doable your itinerary is without a car. The Swiss transit system is exceptional, with trains, postbuses to get up into the valleys where trains can't go, and lake boats. Plus all the Alpine transportation as well. Zermatt is actually car-free.