A train from venice to st. Moritz will be a big pain and take along time, as they cant take a direct route. The drive from venice to st. Moritz is 4.5 hours, its a very nice drive. St. Moritz is beautiful (i am there now). You might just pay a heavy fee on the rental car for a oneway to a diffrent country.other idea: take a night train from venice to zuerich, its longer then driving, but you are anyway sleeping and save a night in a hotel. They have in first class nice beds- dont ask me for the price- i think you would save this way, as you save a day of car rental, oneway fee and hotel...
Google the italian website for the train company, you will find info there...