Well if someone else is paying...
The third way is to build the RDL documents in your own application and publish those to the report server.
The RDL documents are in an XML format, using a "wizard" approach you could take the requirements from the user and then build the RDL from pre-written XML snippets.
Once the RDL document has been formed it can be published to the Report Server by the ASP .NET application
There is a fourth way possible too, which would be a mixture of the second and third ways...