What is the most effective way for a iPhoto user to have all photos synced and stored in the cloud for sharing?
iPhoto supports sharing of albums (including synchronising of comments, and name/face tagging) with Facebook.

This allows you to select a group of photos, and either put them into a Facebook album or post direct to a wall.  If you synchronise with a Facebook album, then iPhoto will perform a 2 way sync and pull the new pictures down locally for offline storage.

If you are worried about Privacy, you can always create an account just for this and really lock it down.

If even works on photos of girls with seemingly impossible sized teeth:



Other than Facebook, sharing options are more limited.  Apple used to offer the MobileMe gallery service, but that is now not open to new customers and will be turned off in the coming months.

There is limited support for Flickr (believe it was better in '09 than in '11, which is weird), but to get anything close to the Facebook levels of deep integration you will have to get happy with some scripting and automation to (for example) run a script after each import to automatically copy the contents of the last import to Flickr etc.  This article talks of numerous ways to Flickr Sync, but non of them are as self-contained as Facebook sync, and require other tools and software to create a more complicated workflow, but it is possible and if you are a Flickr fan the extra effort may make it worthwhile

As a final option, you can still happily use your Picassa Web Albums, and just not use the local application, this question elsewhere in AskDifferent has an accepted answer on syncing iPhoto to Picassa.