How about this:
An actor with a spline and a camera. The camera respects player’s position, their velocity but also tries to follow a spline. The blue marker indicates the interpolation result.
Exposed parameters can be adjusted when the player enters / leaves collision volumes. You can have multiple splines. And splines do not need to be static:
Worth exploring? The crude example definitely needs more work…