One thing to keep in mind for the high-mountain trips is that Alpine weather can change very rapidly. The usual suggestion is to check the webcams when you get up in the morning and head out right away if the weather looks good. If you have a long trip from Zurich, that would provide a lot of time for the weather to deteriorate while you were in transit. If I'm interpreting the Swiss Pass coverage map correctly, the high-mountain transportation legs to the Schilthorn, Jungfraujoch and the mountains above Zermatt are not fully covered by the pass; you just get a 50% discount. Those are expensive tickets even at half-price. That would make it even more painful to travel for hours, ascend a mountain and find zero visibility
All three of the Alpine destinations you mention are in the area near or to the south of Lauterbrunnen. Is there a reason you want to stay in Zurich and make three round trips of 5 or more hours in the same direction, two of them to the same area? It would be much more efficient if you stayed in the Lauterbrunnen area--though Zermatt would still be a time-consuming pain to get to. Zurich is an attractive city, but virtually every Swiss city and town is attractive. Most folks seem to prefer staying in or at least closer to the mountains.
I think it would be better to spend one night a lot closer to Zermatt on your way to Italy so you don't have to make a round-trip from Zurich, which is much farther north, and then turn around and head back south.
Edited to add: Late last night I realized I had failed to point out that traveling from Zurich to two of those mountain regions is going to require many, many connections in each direction. Swiss trains and other transportation run like clockwork and you won't have luggage with you, so there's nothing impossible about what you'll be doing. But you will not be simply hopping on a train in Zurich, relaxing as you enjoy the lovely-to-fabulous Swiss views and hopping off at your final destination. There will be six transfers needed on the way to the top of the Schilthorn--and of course the same number on the way back. The Jungfraujoch requires four transfers. For the Gornergrat above Zermatt it's only two transfers (but that trip is about four hours in each direction). I would find that really, really annoying, because it would mean constantly keeping up with the time to be sure I was ready to hop off the train at the right stations.