Trenord operates a train from Milan to Locarno every 30 minutes. Tickets cost $6 - $17 and the journey takes 42 min. 3 other operators also service this route. Alternatively, Autolinee Gambioli operates a bus from Milan to Locarno once a week. Tickets cost $12 - $18 and the journey takes 1 h 35 min. Swiss PostAuto also services this route hourly.
From Milano Centrale train to Chiasso, train to Giubiasco, then line 20 train to Locarno. 2 h 33 min SFr 58. From Famagosta bus to Bellinzona, Via Pellandini then line 311 bus to Locarno, Via della Pace. 2 h 48 min SFr 23. From Milan drive to Locarno. 1 h 25 min SFr 20.