The free swap between weapons allows shield classes to always have +2 AC even if they attack with a ranged weapon. I would say that Larian should prevent swapping weapons after you make your attack, but what if you have 2 full actions and you need to melee one and snipe the other target.