somehow i think that when you say "external", you really mean "subpatch" or possibly "abstraction".
an external is an object coded by someone else.
but from your posts it sounds like you're talking about subpatches or abstractions, not externals.
i don't know any of the answers except:
yes, you can turn switch~ on and off remotely, because switch~ will just affect audio streams, not message / data events.
sorry if i'm wrong here though. i'm going to the pub.