It is extremely easy to fly into Zurich, train to many options in Switzerland and then train to Italy to catch a cruise. We did it with 3 kids and 70 yr old Mum, visiting Lucerne, Bern, and an overnight in a small town before training to Italy. We could have also easily added Lugano on our way to Rome. Another option is to fly into Milan, day trip via an escorted tour and then continue to your port, Rome or Venice. There are many day trips from Milan, which has excellent train connections to both Rome and Venice. Here's an example:
https://www.viator.com/tours/Milan/Swiss-Alps-Bernina-Express-Rail-Tour-from-Milan/d512-2872ZV15
The excursion you referenced might have been from Venice, fairly close to Italian lakes. Border crossing used to be just agent checking PP while on train.