Police in the central canton of Schwyz provided no further details but said they would host a late-morning news conference.
The accident appears to have happened during maintenance work on a line leading to the city of Lucerne, near the Gotthard mountains in the Alps.
Train service between Lucerne and Arth-Goldau has been halted until further notice, the national SBB rail company said.