I will try to answer to @Jeeby's questions:
did you go with SXA?--->No (it may be possible but we haven't use it)
How did it work out for you? ---> We ended up with a single JSS App and 3 sites under
/sitecore/content with common components outside of them under one Universal folder. Sitecore Support helped us with sharing components between sites, because it can't be done and they provided a hotfix that made that outside components to be shared.
As for deployments we deploy the JSS App three times (for each site one time).
And another thing is that we go as Sitecore First approach, we don't keep the yml files in our react app. We find it easier in this way to build new components.
In Sitecore our components and renderings are under
/Feature not under
/Project/Site. We put there only specific components to each site.
Don't hesitate to ask Sitecore for things that don't make sense, some time they can provide a great shortcut like that hotfix.
I hope you will find this information useful and good luck to everyone!