Very often self-intersection causes Studio Surface to yield a distorted surface. Below is an example of my approach of dealing with the situation. I don't like it. Hope to have your comments. Thanks!
(1) The input framework is like this:
(2) Direct surfacing with Studio Surface gives a distorted shape.
(3) My solution is to build a bottom guide by scaling the top guide (using Scale Curve + Pattern Geometry). The result seems to be not too bad.
I'm sorry for creating this simplified example. If you think it's pointless, please ignore it. Thank you!