The functionality currently provided by the transform API endpoint should be available for use inside MW core from an service object (or helper object or trait). The relevant functionality presently lives mainly in the ParsoidHandler base class. The transformation logic should be separated from any behavior specific to REST/HTTP handling, and moved out of ParsoidHandler. That way, it can be used directly e.g. by VisualEditor's ApiParsoidTrait.
The two methods to focus on are ParsoidHandler::html2wt and ParsoidHandler::pb2pb.