Landscape Splines

Hello! I am seeking advice, tutorials and guidance on how to achieve my spline goal. My goal is to use a spline tool to make rivers. However, I don’t want a simple spline that just lays down water. I plan to make a spline tool that will lay down swimmable water and also manipulate the terrain so that it allows me to adjust depth of the river, the wideness of the river as well as flow direction. Anyone have any suggestions? Thanks in advance!

Also, I want it to alter the terrain so that if the terrain elevates, I want the spline to elevate with the terrain. I also want the river to smooth the edges of itself so that It has a falloff into the water like a coastal shore line.