Custom S3 buckets are great for us because they don't cost us a lot to support, not many people ever want them (relative to the general public), but it allows us to do something awesome for the people who do want them.
I'm curious about your experience about supporting other storage options as well – we only do S3 because we know we can give a really high quality experience with them and it fits in nicely with all our processing steps. Complexity aside, I'd be concerned that something like Dropbox, for instance, woudl have high latency with their API and then make Picturelife seem slow.