We have some custom modules which are used for multiple sites. Those can't be released as contributed modules, for example because they are client specific, make assumptions that don't work for contributed modules and so on.
I know about the following possibilities to deal with this:
copy & paste them around. Makes it obviously hard to keep the module up to date on all installations.
Have a single multi-site installation, but this isn't always possible.
Use git submodules, but they can be nasty, it's easy to forget to update them and aren't always supported (e.g. Pantheon)
Drush make scripts to check out from a common git repository. For this, you AFAIK need to use drush make for the whole site and we don't use it currently.
http://drupal.org/project/fserver. I haven't tried that out yet, does someone know if it is stable enough? The project description doesn't sound very promising and there is no 7.x version.
Anything else/better? What do you prefer and why?