Personal opinion. I agree that the existing system is not very good. The fact that you need to talk to your current companion(s), ask them to leave, argue with them about it, then select a new companion, ask them to join, is just way more effort than should be necessary. It also is immersion breaking (for me).
On the other hand, I don't want to be able to hot swap companions in and out at the drop of a hat either. That would be tantamount to simply having them always around. I agree that the player should have to go back to camp. But that once there, everyone's inventory and character sheets should be available to the player for inventory swapping/outfitting, leveling up, and generally monkeying around with whomever. And then, upon leaving camp again the player should be presented with a screen offering the same party configuration they arrived with, but with the ability to swap in/out whomever they so choose simply by selecting the party members and clicking them into/out of the 'Party" box.
Other games do similar things. Take Wrath of the Righteous as an example. That system works quite well, while still making the player actively decide who is in the party for any given outing.
Just my opinion on the topic.