objectそのものに沿うというのはちょっと思いつかないですが、一つのやり方としてカーブに沿って動かす方法が出来るんじゃないかと思います
ただ、まだUnityには沿って動かさせるカーブの実装が無かったと思うので、何かしらのアセットを使うか、自分で実装する必要がありそうです。
【Unity】複数点を通るスプライン曲線に沿って動かす - おもちゃラボ
例えば、DOTweenでスプライン曲線に沿って動かす事が出来るようです。
DOTweenに渡すpathが表すカーブと、レールをうまく合わせる必要はありそうですが、少なくともカーブを使った例として見てみる事は出来ると思います。
https://assetstore.unity.com/packages/tools/utilities/curvy-splines-7038
後は、有料アセットになり私は使った事が無いんですが"Curvy comes with various ready made controllers to align and/or move objects along splines, paths and volumes:"と書いてあったので、カーブ沿って動かすことが出来そうです。
カーブに沿わせて移動は私自身はやった事が無い方法なので、探して見つけたものを貼っています。なので、他にも良いアセットやライブラリや解説なんかは、もっと探せば出てくるかもしれません。