For those who want to "roll their own" after cruise trip, I'd highly recommend Interlaken. It's beautiful and there is tons of stuff to do around there. The train connections from Basel and to Zurich will be easy. In the Interlaken area, the glacier carved valley Lauterbrunnen sits in is one of the the most beautiful places on earth. It's pretty easy to put together a train trip from Interlaken that goes to Lauterbrunnen, then take the Wengernalpbahn to Grendelwald and from their back to Interlaken. The Wengernalpbahn is a train that goes up and over the pass near the Eiger and Jungfrau mountain peaks. It's steep a railway that it uses cogs part of the way! Reservations are a good idea on this train as it is very popular. When you're done with the mountains, take one of the ferries on the lake.
If you think this is for you, check out Eurail. All of what I described above can be done on a Eurail pass. (Including the lake ferries!) Unfortunately, you can't get a single country pass for Switzerland but you can get a France/Switzerland or a Germany/Switzerland pass. Which would give you even more cool options for stretching your vacation!
Hope you all have fun - this is going to be a really great cruise for you!