San Donato Milanese to Castelvetrano trains might be a good value for money solution: travelling in Italy by train is often rather cheap and faster than taking a bus indeed Trains leave from Borgo Lombardo and arrive at Castelvetrano every about 2 hours on average. If travelling with Trenitalia, you need to know the San Donato Milanese to Castelvetrano train schedule: the first train leaves at 07:46, while the last ride is at 20:16. A San Donato Milanese to Castelvetrano train cost about 115.55 €. But how long is the train ride from San Donato Milanese to Castelvetrano? Your journey takes about 12 hours on average.