This method does not guarantee that you will get the optimal solution. You may get a good
solution but it can be at a local minimum.
Also I think that if the set of salesmen and locations is sufficiently large, there is such a large number of solutions to try that your "swap, test and keep if better" method will do no better than picking a truly random combination, unless you can prove that once you have a better result after a swap all following solutions in the tree underneath this swap are always better than all other possibilities without this swap (in other words you avoid the "local minimum" trap).
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law