Our business provides a software service to clients using Salesforce Platform(Force.com Partner portal), where we have our own main org (hub) and each client gets their own org (a spoke) which connects to the hub. We are the administrators of all the orgs with the clients managing their own data. I'm interested to know whether Salesfore-to-Salesforce is still the way to go - I was told recently that this is outdated. I'd appreciate any input from the SF community if that is correct or if there is a better to do this in the future?
This classifies as a broad question and is primarily opinion based. I will still try to provide some information in this direction.
I haven't really heard of that Salesforce to Salesforce (S2S) is being deprecated. S2S operates on a Pub/Sub model, i.e., you publish the objects/fields and all connected instances subscribe to it. Very recently with the advent of Platform Events and Change Data Capture, the Pub/Sub model has found new implementation approaches. And that you can utilize these approaches based on your Use Case.
S2S compared to say Platform Events or Change Data Capture does have its significant benefits e.g., not requiring any other tools to connect and subscribe to data, which is required in case of subscribers subscribing to Platform Events or Change Data Capture events to implement subscription using CometD.
Primarily, it all depends how and what you want to implement which typically depends on lots of factors viz., skills, resources, tools and most importantly time to market. In your current structure, I would think as long as S2S is well established, there is no need to change the architecture until you really have compelling reasons to do so.
A number of years ago I implemented a solution using S2S to share custom objects with our partner's orgs. In 2013 we discovered data that was updated in one org wasn't always getting replicated in another org. One of those nasty intermittent problems. After working with Salesforce support for over a year they believe they tracked the issue down to a problem in their queuing system (see known issue).
At the time Salesforce Support stated that it was unlikely that any updates would be made to fix the issue as the feature is no longer being supported and recommended we find another solution. This issue still exists along with 8 other known issues.