You can load profiles from the command line in JoyToKey also.
I may be wrong, but i don't think you could load/change a profile from a launched joy2key instance. In Xpadder the profile just changes so i don't have to close it and open it again for another profile.
I sometimes use N64 controllers on my MAME cab, hooked up through N64-to-USB adapters. I use JoyToKey for the button mapping, but I don't launch it until I want to use the N64 controllers. So I set up two main menu items in 3DArcade, one I called 'Enable Controllers', and one I called 'Player 3 & 4'. 'Enable Controllers' is obvious enough, it launches JoyToKey with the standard MAME Player 1 and 2 button mappings for two N64 controllers. But with the second one I got slick - 'Player 3 & 4' launches JoyToKey with the standard MAME Player 3 and 4 button mappings for the N64 controllers, and this allows four player simultaneous play on my 2 player cab - 2 on the control panel, and 1 on each side using N64 controllers. Anyway, the point here is, I can run my 'Enable Controllers' and 'Player 3 & 4' menu items in any order, as many times as I want, and the mappings of the N64 controllers always switch as expected.
Now to your point, ptinolv, it may very well be that a new instance of JoyToKey is getting launched every time. And I say this because, at the end of one of these sessions, after logging out of the front end, I see multiple JoyToKey icons in the lower right corner of the Start menu toolbar. However, just by floating the mouse pointer over these icons, all but one of them will disappear.

What this says to me is, JoyToKey has built-in functionality to kill any older instance of itself when a new one starts up.

-EVEGames