If you're using Salesforce to Salesforce to bring data from your customers org into Salesforce you're going to run into two scalability issues.
First, Salesforce to Salesforce transactions count against your daily API limit. If you have a lot of orgs connecting to yours there is a very good chance you could start exceeding your daily limit.
Second, storage limits in your org. As your number of customers increase the amount of data you're storing is going to increase quicker than your available storage.
Additionally, you have the additional risk that the customer may turn off Salesforce to Salesforce or mess up the configuration.
In terms of expectations for Salesforce to Salesforce, sharing basic records is very straightforward, but sharing complex relationships quickly starts to be a royal pain. A worst case example is sharing opportunities with products which requires first sharing accounts, and products, then the opportunity, and finally the opportunity line items.
In summary, you'll want to crunch the numbers for expected record volumes and API calls based on your current customers and compare it to what you get for free and then do a cost analysis for purchasing the additional storage/API calls. Depending on what that number is you might decide it's not the best option, or a great option. And as jkraybill suggested, you can structure your fees for the service to take into account the data volumes so that you can pass the additional cost on to the customer.