I'd spend more time in Italy since your focus is not on skiing but it's a good idea to finish with the Bernina Express for sure. You'll probably leave from Zurich (unless you find good deals from Geneva).
Something like :
- Rome 3 nights
- Florence 2 nights
- Lake Como 1-2 nights
- St. Moritz (I don't recommend)/somewhere else in Engadin Valley for a night but you could go straight to Lucerne
- Lucerne 2 nights
It's a bit fast-paced but you asked for that itinerary. :)
High-speed trains between Rome and Florence (up to 4 per hour, 1h30 journey), Florence and Milan (hourly, 2h journey). Then multiple slower regional trains through the Alps !