That should be enough in most situations, but it depends on which dialogue and it's even slightly different in each game. In general, though, the speaker will face the listener if that is set, and if not, will face the speaker of the previous node instead. In K1 at least, as far as I recall, a party member will attempt to turn to face the previous speaker in interjections, so you technically don''t need to set anything other than the speakers for each node. I recall one working instance of this on Korriban; if you have HK-47 and Jolee in the party, HK suggests doing something murdery and Jolee turns to him and retorts. But I find speaker/listener to be unreliable overall. It results in some dumb stuff like Vrook teleporting in one of the Council scenes, facing one person and then immediately facing another rather than turning like a person would.
So I would suggest scripting it as well. I would add, though, that you should also use SetLockOrientationInDialog to turn off the usual speaker/listener behavior before you start issuing SetFacingPoint commands. Something like
void main() {
object oPM1 = GetObjectByTag("whatever1", 0);
SetLockOrientationInDialog(oPM1, TRUE);
}
at the start of the scene, then
void main() {
object oPM2 = GetObjectByTag("whatever2", 0);
AssignCommand(OBJECT_SELF, SetFacingPoint(GetPosition(oPM2));
}
for the node you want them to turn on. And you'll want to SetLockOrientationInDialog back to false at the end of the scene.
You might also need to add a delay, but I forget if you do. I remember adding a delay of 0.1 seconds when scripting animations in K1, but I don't remember if it applies here too.