Ok, at least for now I came up with an answer to my own question. It is another kludge, but a better one.
The solution is to create a composite of the roi.Point and roi.Freehand objects, where the Point acts as the marker for the center, and the Freehand defines the arc. The points of the arc are set the same way as in most of the other arc-drawing examples, but only the first and last points are set as Waypoints.
The roiMoving callback for all three of the points is set to recalculate the Positions of the Freehand object. The Freehand object has Closed set to false, and the FaceAlpha set to 0.
This gives me a passable arc tool. Hope that helps someone else, or that Matlab adds a new class.
Thanks for being my rubber duck M.A.
Cheers, -Dan