As an example, say I want to create the "sphere" shown in Fig-1 below. It's two colors, but only the outer edge (and NOT the shading boundary) has a stroke associated with it. My method involves creating two copies of the same circle, clipping one of them with a third path, and then aligning everything up and adjusting the fill colors as necessary. Details below. Is there a better way?

Fig-1. A sphere showing cel-shading effect.
The only way I've figured out how to achieve this effect is to use clipping. When I tried using the path operations (like Division or Difference) I always ended up with a line between the two colors. Anyway, first I create the path I want to shade then I create the path that I'll use to define the shading boundary. For the sphere, I arranged the two paths as shown in Fig-2.

Fig-2. Getting ready to clip.
Then I perform the clip, ending up with only the top portion of my sphere. For the final step, I then make a copy of the circle and align it with the clipped portion of the circle. By adjusting the fill colors of the two paths, I get the cel-shaded look.
So for any shaded "object", I actually have to create three paths - two to use for clipping (to define the shade boundary and the "unshaded" portion of the final object) and one to define the shaded portion. Seems like a lot of "extra" paths to have laying around, but maybe this is the only way to do this?
Any recommendations would be appreciated - thanks!