I was having similar problems. Then I tried putting my SQL code into a stored procedure, and I ran the reports from the stored procedure. My reports now run significantly faster.
Have you tried putting your SQL into a stored procedure, then running the report from the stored procedure? This technique sped up my reports immensely.