I would probably choose your third option. Save PDF to known location, then insert that into a global container field, and finally, export field contents, and let the user choose where they will export to.
A good standard location would be the temporary folder. There's a get function, Get ( TemporaryPath ) that will compute the file path to the current computer's temporary folder. Files saved to this location are not retained so you don't have to worry about cluttering up the computer with extra copies of the PDF file.
Earlier today I recalled that I had the SMTPit plugin which has just the command I wanted so I built the solution around that.
Then I saw your post so decided to re-visit the global container method - which works brilliantly - thank you.
Much pressing of clear/delete and removal of this mornings code - all is now well and functional and all using native FM!