How SQL Server determines the data transfer rate
The ASYNC_NETWORK_IO wait type indicates that SQL Server has finished doing the work it has been asked to do and is waiting for the consuming application to confirm that it has received all of the data.

This is normally due to the application consuming the data in an inefficient manner. The classic is if the application is processing the data row by row. Another possibility is that the server, that the application is running on, is under performing and causing the application to slow.

With that said it is possible the network is contributing to the problem. A ping from the application server to the SQL Server will show the time it takes to get information across the pipe. If this is near to your wait time then it may indicate your pipe is not fast enough. 


  The issue is because sometimes tables are loaded fast, but sometimes
  one or two tables are loading very slow. Looks like the data transfer
  sometimes is really bad for those tables, transfering at 50 rows/s,
  instead of 2,000 row/s (should be normal).


At a guess, this sounds like the application is processing the data row by row.  The fact that the slow processing is intermittent I would say that it's very unlikely to be the network.