Stored procedures are good because they can filter the records at the server level, but sub reports can kill response time. It depends a lot of where the sub report is on the report. Just remember that everytime the subreport is 'called' upon, it has to go out and fetch the data fresh. Do you know if there are any optimizing tools for your database to make sure the stored procedure(s) are written for best performance?
I was given some tips how to optimize reports, If I can find that document, I will pass it on.