if you must do it like that for some design process reason then there is something. if you have a bunch of those roof like sctructures that you want to experiment with in Rhino then follow this:
make (in this case) 3 surfaces (edgeSrf orwhatnot but any also more complex trimmed surfaces will to) that you copy or draw your curves onto. now copy the surfaces group the 3 (makes it easier) next to it or above of it turn on History and use FlowAlongSrf for each part then hide the parent. now simply turn on the points and move the surfaces points in any direction, the curves will follow, also when you twist the surfaces of course.
here i used SetObjectDisplayMode to set the target surfaces to wire.
important is that you dont touch the curves here anymore that will break history, if you want to do changes on these you have to do them on the parent.
No idea if a “DIY constraint” is practical for such cases, but if you MatchCrv the lines G0 to points on another line with the Pick Point option (Record History on before matching), they will follow as the reference line is transformed.
that would be interesting, but pick point is unfortunately not accurate. you can zoom in like crazy to maybe be within tolerance but you will never exactly and reliably hit the intersection.
maybe its a (forever) bug and was actually meant to work with snaps, it at least looks like it should work though, all it needs would be focus or the usual tracking on the pointer, cant be that hard to add. idk maybe @stevebaer has an idea?