I’ve been struggling with internet access going slow through Microsoft Forefront TMG, but managed to fix the problem by changing the settings on the network cards for the TMG server.
On the internal network card on the TMG server, you need to set an IP address, subnet and internal DNS servers – do not set a gateway because traffic being generated from the inside will know where to go from the routing tables in the TMG server. For me, setting the gateway on the internal NIC made TMG internet access slow.
On the external facing NIC in the TMG server, specify an IP address, subnet and gateway only. You need not set DNS servers.
I don’t know why setting an internaly facing gateway made internet access through TMG go slow, but if you are reading this and facing the same problem, I hope this fixes it for you.