A path animation can use a curve-on-surface as the path curve. The workflow is identical to that when the curve is in world space; however, there is extra flexibility in controlling the “up” orientation of the object.
 -click
            the curve-on-surface.
-click
            the curve-on-surface.
            
          .
.
            The Attach to Motion Path Options window appears. See Animate > Motion Paths > Attach to Motion Path.
The Attach Motion Path Options window closes.
The Attach Motion Path Options window remains open.
You can make the animation even more complex by animating the CVs of the curve-on-surface or by creating a lattice or cluster deformer on the surface and animating this deformer object. The object animated by the path animation will stay normal to the surface at all times.
To position an object on a path

 (Linux
            and Windows) or
 (Linux
            and Windows) or  (Mac
            OS X) key to select the rotate pivot of the current object.
 (Mac
            OS X) key to select the rotate pivot of the current object.
         
 (Linux
            and Windows) or
 (Linux
            and Windows) or  (Mac
            OS X) key again to exit from the rotate pivot selection and return
            to object selection.
 (Mac
            OS X) key again to exit from the rotate pivot selection and return
            to object selection.
            You can now attach your object to a curve to create your path animation. See Create a motion path using a curve.
The positioning may not seem intuitive, however, as it will appear as if the object is moving instead of the rotate pivot, as you move the rotate pivot. This is because the motion path is continually recomputing and repositioning the object so that the rotate pivot will stay on the path curve.