It turns out that TransformMap.transform is not very efficient because each time it is called a transform must be copied (after a lookup, which is efficient). This inefficiency extends to Camera.transform and Detector.transform because they both call TransformMap.transform.
In the interest of simplicity and providing one preferred way to do things, I propose that we eliminate these methods and instead make the user obtain a transform via getTransform and convert points in the usual way, with applyForward. Note that this will also eliminate the CameraPoint class, since it is only used with the transform methods in question.
I personally feel that use of CameraSys to look up transforms, coupled with reasonable names for the resulting transforms provides sufficient clarity. I do not feel the use of CameraPoint adds significant additional clarity and it is awkward because it only works for single points, whereas transforms are most efficient when transforming lists of points.