When you say "sites" do you mean Active Directory sites, or physical customer sites that are not related?

You could place users into Printer Groups and check against that as well.

Using a Gateway as code given might be good if all the sites have their own gateways, but to me all of these could be problematic as an example all the users at site X might have same gateway, but be on 3 floors and who the heck on the 3rd floor needs all 5 of the printers from the first floor installed and mapped on their system.

Just an example which might not apply to you, but often I see people attempting to automate printer installs for users and I've been to computers that have had 50+ computers mapped because of different circumstances that are beyond the control of the Administrator.