From next year on there is a direct Zurich - Firenze train, operated by SBB. However if you try to book this on sbb-tickets.cc you usually cannot do so.
The reason is that this train takes the old line from Milano to Firenze, and so you are quicker if you change to a FR in Rogoredo, and that is the solution the SBB website gives you.
Given that the direct train is 1 ½ hour slower than changing trains I also wonder what the point of that service is…