Hi Wyatt, Prospects can be members of multiple engagement programs. We have a similar scenario and use the same method you are using, 'if member of this program then do not add to this program'. I am interested to hear how others solve for this.
The type of smart campaign you are considering building has a name : they are call traffic cops. Search the community for "Traffic cop" and you will find a lot of hints and tips. This is quite complex to build, though.
I would rather consider using a field called "Current EP Stream". on each SC that add people to an EP Stream you can test the value of the field and see if it does not include a value of an EP that has precedence. Each time to add a lead to a stream, you update the field.