By train you always need to connect in Milano Centrale, no direct trains to MXP from Torino, you can board in Porta Susa station and take a Frecciarossa (or Italo) to Milano Centrale and change to MXP train, it takes around 2 hours and 10 minutes in total, also Regionale Veloce trains (fast regional) are available between Torino and Milano and will take 30 minutes more than Frecciarossa, basically every hour there is a train option available. Never tried the bus service.