Hello DSR and welcome to FlyerTalk!
Well, if you’ve never travelled by train before, you’ve certainly got some exciting times ahead of you.
First thing to say is that the annual great European rail timetable change happens the weekend before your trip, so exact schedules are not available yet.
Anyway, here goes, based on current schedules:
1. Zurich airport (the station is under the airport terminal) to Zermatt: trains hourly, journey time about 3-and-a-half hours, with one transfer in Visp. There are other alternatives with two transfers.
2. Zermatt to Rome by train: this requires a minimum of two transfers – at Visp, and Milan. Departing Zermatt at 07:39, 12:39 and 13:39, the journey takes 7h 20m to get to Rome. Great journey through the Alps, then you’ll travel on Italy’s efficient high-speed service from Milan to Rome.
3. Rome to Florence and back: lots of high-speed trains (about 3 an hour normally, during the daytime, journey time roughly 90 minutes). There should be a fairly normal service between Christmas and New Year, but definitely reduced on New Year’s Eve.
That’s a rough idea about the schedule … ticketing will come later when bookings open (probably around October) for the new timetable period.