From what I can tell, the answer is not one that currently exists as part of the Module. For the process to be automated, you would need to create a custom query, with a cron job or an add-on, but the cron job with a custom query would be the easiest approach.
Andrew Weaver has a great little utility add-on, AJW Export, that basically would handle the .csv process for you, so all you'd need to do is create the query, place it on a template, and either set-up a cron job with your ISP or use the ExpressionEngine Cron add-on, which I can't recall, if it's packaged with EE or if it's one of the many items you can get from EllisLab, but you need to grab from Devot-ee or the Ellis Lab GitHub account.
One thing to recall with the custom query process, is that FreeForm Pro 4.x now creates new data tables for each new form, so make sure you grab the right forms data. The query would look like:
{exp:ajw_export
sql="SELECT entry_id, entry_date, form_field_1, form_field_2 FROM exp_freeform_form_entries_1"
format="csv"
delimter=":"
filename="output.csv"
}
The one thing I'm uncertain about is the
anything that can be picked up by a remote server
statement. Do you need another database to grab the reports, or do they need to be stored on a different server? A cron job will automate the running of the report, AJW Export will produce the .csv format for you, but both options either assume it will be downloaded in a web browser or be saved to the server. In fact, I think AJW Export ONLY posts to immediate download. I could be wrong, but I believe that's true.
If you have a second database that needs access to info from the website, then an ODBC query might be more appropriate. I know we've set these up for clients using FileMaker on the desktop and MySQL on the server. The automation is more dependent on what desktop database you are using. But basically, we configure the desktop database to open a connection to MySQL using ssh via the sFTP access, and an IP filter, then grab the data. FileMaker handles pre-existing data by checking if the designated entry_id exists or not.
I've never used it, but if JSON is your other option, then you can also look at the add-on, JSON, by Rob Sanchez/Barrett Newton. You might be able to grab this from a specific url, with some login credentials or an IP filter.