This is a good solution; that is, breaking the sweep into multiple paths, doing 2 sweeps, then connecting the 3D solids. This enables you to change the reference point between sweeps, since the reference point has direct bearing on whether the profile folds back on itself.
A good example is a path (in a single plane) that is first straight for a distance, then turns 90 degrees to the right (then straight for a distance), then turns 90 degrees to the left (then straight for a distance). Depending on where the start of path is placed on the profile, either the first 90 degree turn will cause the profile to fold onto itself, or the 2nd 90 degree turn will fold on itself.
My results were really wacko when I didn't connect the path to the profile. There was no rhyme or reason why it failed one time and succeeded the next.