It looks like this function hits the network - https://github.com/USGS-R/HITHATStats/blob/master/R/getXMLWML1.1Data.R?source=cc . If the order in which you process NWIC sites does not matter, you would boost performance by launching the requests in the loop and registering an asynchronous callback for each one to update the statistics whenever the data comes back from the network. The callbacks could increment a persistent counter that is passed to each invocation of the callback. When the callback detects that the persistent counter is equal to the number of sites to be processed, then everything is complete and you can begin writing the results to file.
http://www.rforge.net/doc/packages/background/async.html