Precisely that swap is what I suspect might be difficult to pull of
Well its foundation stone of the whole idea ... such things have tendencies to be the hardest stepp.

Basicaly everything beyond is just polish.

though I don't know inner workings of the system enough to speculate in detail.
Me neither ...
But since it was allready done in other games (so often mentioned SWtOR for example, but i heared DoS2 had something simmilar aswell but dunno didnt play) i know it is possible ...
And just for the record, i really hope SWtOR style will not be used. :-/
Some might find it suitable, but personaly i really hate RNG in such things ... seems like powergaming to me ... forcing other players to play along with your way just bcs your dice rolled more ... bleh ...
Cant even count how many times my Lawfull Good Jedi was in flashpoint forced to helplessly watch as some Smugler bastard kills somebody in cold blood right in front of him ... just bcs some internal RNG decided that its his turn now. :-/
There was few times in topics like this one mentioned rock-paper-scissors-lizard-spock system that i liked much more ...
Yes, im aware that my Jedi would be forced to watch as that same Smugler bastard kills people just the same ... but i could only blame myself for picking wrong option, rather than RNG system ... thats the point, you have better control over your fate.

Would this system prevent characters from roaming free during conversations as they do now?
I dont think so, no. O_o
This part i believe can be exactly as in KOtOR ...
You either are close enough to participate in conversation, or it goes without you ... if you are part of conversation, logicaly you cant roam around ... if you roam around, logicaly you cant pariticpate in conversation. Its mutualy exclusive condition.
How would it work in multiplayer?
Exactly the same ...
Actualy, just the presence of multiplayer is the reason why i believe we would need such system ... and if that will be implemented there, then all we would need to do would be use exactly the same mechanic during single player.
Possibly minus (or plus, depending on wich you concider default) the RNG (or other methods) to pick wich character will actualy speak in the end.
But the system itself would work ideally exactly the same in both cases.

The way i see it, Larian have curently two options in front of them:
1) Make multiplayer as *a hero* and *his PC followers* ... where whoever starts the conversation, or whoever NPC start talking to is the protagonist ... and everyone else are just spectators, who cant really do anything.
2) Try to implement some way to switch curently talking character ... then add some method to decide wich character will actualy speak ... and make multiplayer to be party of heroes.
In case they decide second option ... all they need to do is to use the same for single player and voila!

Couple coop players switch between each other?
Depends ... yes and no.
Logicaly that would also need some method to decide who will be deciding ... like RNG, or rock/scissors/paper, or w/e they come up with ... maybe some kind of voting as they do via twitch? Dunno, dont matter.

BUT! And this is not as big butt as usualy, but its important one.

Thats another layer ... curently we are talking about switching itself, as long as its not possible, there is no reason to add any deciding method ... once it is possible, adding deciding method for multiplayer is step two.

If you think on it for a little bit, one can thing of quite a few areas where such feature could run into troubles, so I don't think it's worth considering
This seems like odd mindset ...
"It may cause problems, so lets not implement it at all."
Hells, if people would be thinking this way, we would still play 2D games.

As i said abowe, there certainly are situations where this would need to be disabled ... for obvious reasons.
Like the one where Astarion is holding *a PC* on the ground ... or when *a PC* is holding Necromancy of They book ... etc.
But i dont see that as a reason to throw it away completely. O_o
And considering how much effort Larian is pouring into production value, I doubt they would want to implement something as half baked as your are suggesting.
As i said ... its a fundamental idea ...
I hardly doubt that anybody would try to prevent them to bake it futher to make it better. :P
And personally for me, it wouldn't address the issue that I have - and that being the game breaking me out of roleplaying my character by forcing me to convers as someone I am not playing as.
Ehm ... what? O_o
And i mean it, im genuinely lost here ...
How exactly is the game "forcing you to convers as someone you are not playing as" ... IF (and this is important one) ... you could pick who are you conversing as? O_o
Call me slow one, but it seems to me like its adressing exactly the issue you have.

but an ability to manually set a leader (which might not have to be created PC) should help you out as well as long as it is quick and easy to do. Leader tagging, of course, should apply to conversations triggered by NPCs only - if you manually switch to shadowheart and engage conversation then, it is she who should be conversing regardless if she is a leader or not.
I gues it depends on how that would work ...
To me anything beyond lets say two clicks would be too anoying to concider it good solution. :-/
In such case, "curently controlled character" seems quite fine to me ...
Or that previously suggested option to simply stop conversations starting automaticly and let us start talking instead ... we know this caused some problems in the past.
Remember our companions dying in flames, or failing all their saving throws bcs we were talking and therefore unable to "help" them?

Im honestly not sure if this is still the issue since i didnt see my companion on the edge of death during conversation for quite some time. O_o