Is there a way, using Apex, to trigger the rendering of a VisualForce email template and capture the result as a string?
This would be used to set the HTML Body of an email to be sent using an external service (HTTP call-out)
Yes -- this can be done with a clever solution from this SFSE wizard @PJC
https://salesforce.stackexchange.com/a/8745/2602
Leverages the apex SavePoint and Rollback to trick SFDC into rendering and retrieving the rendered value