A couple more suggestions:
Is your USM file on the same machine as the one you are running or is it remote? Remote can slow it a lot, And it is much worse if the data set was downloaded on a different machine Operating System.
Does Proc GEOCODE get most of the street address? If it fails at the street geocoding, then goes to ZIP Code, then goes to CITY lookup, it will be slower because it is doing much more work. This can happen if the data is "dirty".
Are any indexes to USM, USS, USP deleted? That will make it much slower.
Of course, multiple people running on the machine, multiple accesses to the USM file and other factors can effect performance.
Here, we got about 11,000 obs per minute on a test run. So, about 4 minutes.
... View more