When running a report for the first time in report manager it takes a while to run, after this initial run reports run fine.
There are a number of ways to keep reporting services awake so that when you run a report it runs straight away and is not slow to load.
I have found a number of scripts on the web but I could not get them to work, so I created my own and tweaked it and it works! :-)
The idea is to run a report using PowerShell with a URL and then create a job which will run the job before your users start running reports.
The PowerShell script below runs a report
$IE=new-object -com internetexplorer.application
$IE.navigate2("ENTERREPORTURLLINKHERE")
$IE.visible=$true
Test the script in PowerShell on your server and then save the file.
Then create a SQL Agent job which you then schedule to run every day at say 6am.
This works on SSRS 2016 I have not tested on previous versions but it should work in principle