We will be landing in Zurich spending one night, traveling through Lucerne then going to Basel for departure on a river cruise. I am planning on renting a car. Is that the most practical thing to do, or are there other options? We just need to leave Zurich in the forenoon, travel to or through Lucerne (sightseeing) and arrive in Basel that evening.
You should travel by train. It's easy and comfortable.
The train from Zurich to Lucerne takes 45 - 50 minutes. There are two departures per hour and it costs 25 CHF. The journey from Lucerne to Basel takes 1h00 - 1h15 and costs 33 CHF. There are also two departures per hour.
There is no need to book in advance. Go to the station, buy your tickets and catch the next train. For prices and schedules you can check the website of the Swiss Federal Railways.