The patch data itself contains a reference to where it should be stored. If you load two patches in any order that are marked for the same location, the latter one will overwrite the previous. This is by design.
If you want to re-target patches or move them around in memory, you need something like SoundTower's editor for the P12 Desktop, which has a (clunky, IMO, but functional) patch manager/librarian tool. Make sure you have backups of all patches you care about as .syx dumps or something first as it's bloody easy to overwrite things on the P12 itself by accident using that tool, but it does work well to, e.g. load a batch of patches from a file to a different location on the P12 than they were originally marked for.