Yeah I'd probably go with scrolling the texture coordinates; it's a very simple and effective solution
For the wheels inside the tracks, you could use the same trick, but use a variable to rotate the texture coordinates so it looks like the wheels are spinning.
At the other end of the spectrum, you could create the whole animation using physics. You'd create a whole array of "plate" models (one for each section of the track), create physics joints/constraints that would connect each one to the next in the chain, then make the wheels inside the track able to transfer push/pull forces onto the plates that are touching it. Combined with the plate-to-plate joints/constraints, you'd end up with a proper moving and sagging track simulation... and would then just have to make the track collide with the ground with friction, etc, etc... and you'd have a physics sim and an animation at the same time