Until a lot of the configuration stuff becomes more isolated from one customer to another, using separate instances is really your best bet. Prime example... My liferay instance....
I host my own web site for my consulting company, a curly hair web site, a car web site, a dating site, and a few others. However, because I have to configure the emails from the message boards, calendar, blog, etc. in the portal-ext.properties, they call come from the same source no matter which site you are a user of. And what's ok for the curly-haired girls doesn't work for the car guys which also doesn't work for the dating site. Sharding won't affect that at all.
Please sign in to flag this as inappropriate.