Here's what I've got so far...
(1) Select Voice 000 (i.e., the OTS or One Touch Setting voice).
(2) Put the keyboard into Song mode (i.e., press the SONG button so it lights up).
(3) When you select a song, the Main Voice will change to the voice that the song uses for channel 1.
(4) By pressing the +/YES button while you're in Song mode, you can advance to the next song.
I've written a program to create a set of MIDI files for all of the voices for a particular keyboard, using a sort of patch list data file for that keyboard. I've included only the unique voices-- i.e., the ones that don't use the Dual function to layer other voices together, or Harmony or Arpeggio or Split. Each MIDI file contains simply a Bank Select MSB, Bank Select LSB, and Program Change message to select the desired voice, plus a Meta Event that shows the number and name of the voice-- e.g., "001 Harmonium 1 (Single Reed)."
When I tested them on my PSR-E443, I didn't expect the Main Volume to change. However, it looks like when the keyboard responds to the Bank Select and Program Change events which select a given voice, it sets the Main Volume to the default or preset volume that's associated with that voice. I haven't tried adding Channel Volume messages to the voice files yet to see whether they will override the preset voice volumes, but my prior experience at trying to set other voice parameters that way (e.g., Attack Time, Release Time, Cutoff Frequency, and Resonance Level) didn't have any effects.
Anyway, the attached ZIP file contains 671 MIDI files for the unique voices of the PSR-I455. The names of the files are simply the voice number-- e.g., "Voice001.MID." I suggest storing the original files somewhere handy, and using copies of them as follows:
(1) Make a note of which voices (i.e., voice numbers) you want to use during a particular performance, in the order that you want to use them. If you want to use the same voice multiple times, write it down the same number of times in the list, as in the following example:
100
62
13
100
89
100
89
204
5
etc.
(2) Going down that list, copy the MIDI file for each of those voices to new MIDI files named "Song9999.MID," where "9999" is a number that reflects the order you want to use each voice in. For instance, going back to the example above, you would do the following:
100 -- Copy "Voice100.MID" to "Song0001.MID."
62 -- Copy "Voice062.MID" to "Song0002.MID."
13 -- Copy "Voice013.MID" to "Song0003.MID."
100 -- Copy "Voice100.MID" to "Song0004.MID."
89 -- Copy "Voice089.MID" to "Song0005.MID."
100 -- Copy "Voice100.MID" to "Song0006.MID."
89 -- Copy "Voice089.MID" to "Song0007.MID."
204 -- Copy "Voice204.MID" to "Song0008.MID."
5 -- Copy "Voice005.MID" to "Song0009.MID."
etc.
(3) Put the new "Song" files on a USB flash drive that you know will work with your keyboard. (Most should, but sometimes a particular USB flash drive will be incompatible, possibly due to the file system it uses.) Plug that USB flash drive into your keyboard and wait for the "USB" indicator on the LCD screen to stop blinking.
(4) Select Voice 000, then switch to Song mode.
(5) Use the panel controls to navigate to the first MIDI file ("Song0001.MID") and you're ready to play.
(6) When it's time to switch to the next voice, press the +/YES button to advance to the next song file. Note that you'll need to give the keyboard a moment to finish switching voices.
Try that and see what you think. I'll keep experimenting to see if I can get any other messages to work with the OTS voice.
EDIT: PS -- You don't have to use names like "Song0001.MID," but the file extension needs to be "MID" and you should make sure the file names will come up in the order you want to use the voices in.