ProjectToCPlane should work for any surface. or do you mean UnrollSrf ? that would unfold objects. Smash does a pretty good job on that to and Squish can do the same for strongly twisted single surfaces.
if you want to project curves or other objects onto a surface you have to use FlowAlongSrf
HI Adam - try Align > Bottom in an elevation view (relatively speaking - that is, with a CPLane aligned with Y to the vertical direction you wish to move the objects in).