Train is the most practical option. Saint-Étienne has two central stations: Châteaucreux (the main station, with TGV connections) and Carnot (closer to the city centre for regional services). Lyon Part-Dieu to Saint-Étienne Châteaucreux takes around 45 minutes; trains run frequently throughout the day. From Paris, TGV services connect via Lyon in around 3 hours total.
By car, Saint-Étienne is 60 km from Lyon on the A47 motorway — about 45 minutes without traffic, though the Lyon end of the motorway can be congested at peak times. From Grenoble it's around 1.5 hours via the A47 and N88.
The nearest international airport is Lyon Saint-Exupéry, about 90 minutes by a combination of shuttle bus and tram, or around 60 minutes by car. There is no direct airport bus to Saint-Étienne; the practical approach is train from Lyon.