You do have the Smooth command, but this works only in XYZ (or any combination of these).
So your best bet is to do this manually. It is a bit of a pain unfortunately.
But you can use BlendCrv on sub-selected edges (so you don’t have to draw new lines to blend between in case you didn’t know that already) and then use move or drag and snap the vertices to that curve manually, which I guess is what you do now.
I guess this could be scripted as an “auto snap selected vertices to curve” tool. But SubD is difficult to script for since the vertices, edges and faces behave so differently from meshes. So I can’t help with that unfortunately.
If your SubD is rectangular with clear topology, you can split the edges in Grasshopper using the warp / weft component in Kangaroo. Then use the rod goal to make the edges more continuous.
(1)
delete the faces and recreate them with _bridge
(2)
draw a curve
maybe just by interpolating offer the correct / nice points.
now turn on edit points (in box mode) of the subD and _align them to the curve
see this topic:
(…)
but i am still waiting for the
_edgeLoopBeautify
command