Actually I have and tried replicateing this workflow, However, I got the same uneven surface when using curves. Your example look promising.
Hopefully I can find more tutorials or case studies using TSplines to get a much better understanding of the package.