There are many ways for scripts to communicate e.g. RemoteFunctions, ModuleScripts, but does sending Instances such as a model through these scripts cause problems? For example a delay between one script sending and the recipient script receiving?
Instances are transmitted over the network as an identity, not a value. That is to say that all that the server (or client) tells the network is "Use the instance with this id", rather than telling the network anything about the instance you just sent. As a result, the amount of additional latency caused by sending a reference to an Instance is likely to be indistinguishable from sending nothing.
There will, of course, be a delay. But it's the same delay as when you spawn in an Instance on the server and the client has to load it in - Just slightly less, because there's less data being sent.