Can I set a daily Scheduled Job to run at a specific time of day?
The solution is to exclude the iATS job from the "normal catch all" cronjob (so don't put it to run automatically daily)

Then add a line on your cron to run it at 3 am

0 3 * * * www-data nice -n19 /usr/bin/drush -u 1 -r $drupal_root civicrm-api job.whatever-iats-name auth=0 -y


You will need to find what is the name of the iats api job, and put it in the line

and voila, you should have it working now at 3 am