Hello,
We do run lots of SSRS reports, each as various ways of compiling data. General rule which has worked:
If the report requires pre-processing of data, meaning multiple steps of selects and inserts into before the data is ready for usage by SSRS report, and the data pre compile process is more than 15 seconds and the the query is run against a large data base which is expected to run for more than 1 to 2 minutes, SSIS is package scheduled by SQL Agent is preferred to pre compile of data - reasons -very less change of Query time out with SSIS Packages and it can be scheduled during less peak times .
Where there is user intervention by way of selection criteria, and the data compile is a complex, stored procs offers some benefits by way SQL cached plans.
For less complex and highly filtered reports a direct query at SSRS will do.
In all cases do run the query against SQL server database engine tuning advisor and where ever applicable use the "with no locks"
Cheers!
Sanjay