Well if you just want a non moving one id say use a prop static and find the world model which looks the best for you.
However I have a feeling your talking about the moving ones which have a tendency to kill you like in many of valve's maps.
You will need a bunch of path_tracks, a func_tracktrain, prop_physics_override and a trigger hurt. You will need to place them so it looks like they lineup, parent all objects to the func_tracktrain. You will also need some I/O control to set the speed of the train as well as to teleport it back to the start of the track once it reaches the end. A func_brush with a black face set to not solid facing the inside of the map can help hide the train behind it/exiting it.
This is how its done on cactus canyon and a few others, but that would be the basics of one I would think.