Greg - Could you post more details? Queries/reports that run for hours might be restructured to run in less time.
Also, I have found that adding 'with recompile' to stored proceduers which are not run often can speed things up by generating a new query plan each time they are run. This is similar to flagging tables as 'recompile'. The hit of recompiling a stored procedure when it takes minutes or hours to run is nominal.
I'd be interested in seeing the number of tables, rows, etc. in your database.
I've worked on databases with 200+ million row tables that gave sub-second or multiple second response times - so I think you should be able to dramitically reduce your run time with some tuning.