Depends:
From Zürich (HB), the train to Singen takes only 53 minutes.
To Konstanz it’s 75 minutes and costs a bit more (unless you have a travel card that covers you to Winterthur or beyond. Also, Kreuzlingen-Konstanz is covered by Generalabonnement, unlike Schaffhausen-Singen).
Do agree that it is much nicer - and that’s not just Lake Constance but also the old town itself.