Perhaps the greatest frustration for electronic musicians and producers when using hardware sound engines (synthesizers, etc.) with sequencers is sound recall. Everyone who has ever worked with MIDI has had the experience of going back to a project to do some work and being confronted with completely different sounds than what was intended. Often, the experience leads to the abandonment of hardware, abandonment of MIDI work completely, lots of cursing, or the adoption of some less-than-efficient workarounds.
I've known some big-name producers who, for lack of understanding how to recall sounds, kept notebooks full of settings they used on various pieces of MIDI hardware for all their tunes. Apparently it never occurred to them that MIDI is data and sound engine settings are data, so there should be a better way.
The short-term solution is to use a software librarian. Librarian software allows you to choose patches, save custom patches, rename them, etc. Many, many, years ago, stand-alone librarians were a major category of music software. Today there is only one major player left -- Soundquest's MIDI Quest (and it's not even very popular). The librarian task today is most often taken up by DAWs. All the major DAWs today have built-in librarian functions (though ProTools on the Mac side uses the Mac OS for its (limited function) librarian). Yet, if a hardware configuration gets changed in any way (renamed ports, different gear, etc.) assigned sounds still get lost when using a built-in librarian.
There are two ways to solve the problem of losing sound engine settings:
1. embed the settings on their MIDI tracks.
2. save system exclusive dumps from each piece of hardware.
Each method has advantages and disadvantages which really come down to how much work you feel like doing. Embedding settings makes sense if you only need to save settings for a few tracks because it does involve a good amount of work. The process on most DAWs is to pull up the track's list editor then insert Bank Select (Controllers 0 and 32) and Program Change messages. The challenge with this method is figuring out the correct values for the Bank Select messages. Certain machines, like Emu modules, or some Yamaha keyboards can display the correct controller values. With most machines you will need to refer to the manual to get the correct values. After figuring out the correct values for controllers 0 and 32 (Bank MSB and LSB) insert these messages in a region on the MIDI track followed by a Program Change message with a value of the number of the sound you are using. In most DAWs this is done in the list editor. The ProTools list editor, however, will not allow this. In ProTools you need to use the program change view on your MIDI tracks, then on the track using the pencil to bring up the librarian window and choose your sound or type in the messages in the Bank and Program boxes.
The alternative to embedding bank and program change messages is to perform a system exclusive dump on each machine you want to save. This saves ALL the settings that make up your sounds, usually on ALL the channels. System exclusive dumps have the advantage of saving settings for any custom sounds you create as well as volume settings, pans, etc. The challenge, though, is knowing the idiosyncrasies of how your particular DAW handles sysex. First, you need to make sure your DAW doesn't have a filter set to ignore sysex. This is typically found in a preference screen. Then, you need to find out whether your DAW has a separate sysex screen/function, or whether you will need to record a MIDI track of sysex. NEVER record a sysex dump on the same track as channel voice messages (notes and controllers) -- your notes will be horribly delayed and you might cause a crash. You'll also need to find the sysex dump screen on you piece of hardware. It's difficult to go into much more detail about the process here because it is a very gear-specific process. The only other thing I can say with certainty is SAVE BEFORE SYSEX. ...and read your manuals for the details.