Rates of compression of around 10:1 aren't unheard of, so if you're ending up with a 500MB file you may be transferring up to 5GB across the network. Regardless, 3.5 hours is excessive. A couple of thoughts:
* When you say run the queries locally, do you mean through an instance of QlikView/Toad on the same machine/LAN as the Oracle DB? If through QlikView on the same machine/LAN, is the query time still 10 minutes?
* Are there any hints in the query that QlikView may not be passing through? (a hint may be ignored without StripComments=0).
* Is your network configured to "downgrade" speeds after a short burst to make sure a user can't saturate the network for a prolonged period of time?
* Are there any keep or where conditions associated with the table? That is, are you retrieving data only to discard it?
* If you run the query with SQL*Plus on the client machine, are the speeds the same? Might help identify the issue as related to QlikView, the ODBC driver, etc.