Well, I don't know what you have planned at each of these, but it is 1 hour from Zurich to St Gallen with departures every 30 minutes, and slower trains at other times. Figure 1 1/2 hours on to Vaduz, then 1 1/2 to 2 hours back to Zurich. Seems like that would give you 4 hours in each town and back at a decent hour.
I hope your reason to visit Vaduz is not just to get a bogus passport stamp. There is a whole lot of nothing there otherwise.
Full fare tickets for 2 people with that itinerary would run about 200 CHF, so maybe that $170 rental car is not too bad. Add fuel and parking and it might be a wash. You could look at Saver Day Passes and depending on the date, might be some savings there.