Users Uploading Files To An asset_host

I’m curious how people put static files uploaded by users to their
asset host.

I’d think (for non S3, CloudFiles, etc…) that the files would be
submitted to the app server which would save them to a shared drive on
the asset host. I’ve head bad things about NFS and high volume sites.
Is Samba is an acceptable alternative?

Putting part of the app on the asset host and submitting directly to
it makes some sense, though it somewhat defeats the separation of app
server, asset host, etc…

How are you guys handling this?