Other than portability, are there any other advantages (or disadvantages) to storing apps on external storage? Are there any particular advantages/disadvantages to storing apps on the external storage of an Android device? As I have a Nexus S,  I can't think of advantages for me as I can't remove the storage, also the internal storage is more than enough for my needs.

I noticed that on phone start up, when I had all my apps moved to USB storage it was quite sluggish to register all the apps on the menu/home screens.

I also read somewhere that having a wallpaper set from a photo that was stored on the external memory actually drained quite a bit of battery too with all the reads (although I think this may have been a bug).
taken straight from android developer site


There is no effect on the application performance so long as the external storage is mounted on the device.

The .apk file is saved on the external storage, but all private user data, databases, optimized .dex files, and extracted native code are saved on the internal device memory.
The unique container in which your application is stored is encrypted with a randomly generated key that can be decrypted only by the device that originally installed it. Thus, an application installed on an SD card works for only one device.
The user can move your application to the internal storage through the system settings.



Also -> Applications That Should NOT Install on External Storage (more details on android developer site)


Services
Alarm Services
Live Wallpapers
Live Folders
App Widgets
Account Managers
Sync Adapters
Device Administrators
Broadcast Receivers listening for "boot completed"