Getting blocked by your own party was easier to fix than I expected! The Player and NPCs are all on the same physics layer and I had them colliding with all the other layers (world, player, enemies, weapons). I just removed the player mask from the Player scene. Now the player pushes the NPCs out of the way instead of colliding with them. You can still get swarmed by enemies, but you can't get trapped in a corner by your own party.