You could combine both and have SCN and site prefixes but without the need for rerouting shortcodes.
Rather than add the extra dialing digit for each site as an extra routing short code on each system, renumber the system extensions to include the prefix by default. This can be done with a single command on each system.
For example use the File | Advanced | Rebase command at site 1 to add 10000 so their extension numbers change from XXXX to 1XXXX. Do similar at site 2 but add 20000 to change XXXX to 2XXXX. And so on.
It means that user have to remember to dial the extra digit for onsite calls as well as between site calls, but in the end its more consistent and I think you'll find they'll adapt quickly.
In addition you can now use SCN on the links, which means thing like the directories will list other site extension names and numbers, so finding the number of Joe at site 3 will be a whole lot easier.
(Note: The rebase option isn't available if the system locale of the config opened in Manager is enu. So if that is the case, just change the locale temporarily, use the rebase command and then set the locale back to enu.
I'm also not too sure how thorough Rebase is, its really mean for renumbering new systems, so after using it you should manually scan hunt groups and incoming call routes etc and add the extra digit for that site wherever needed).