The bank change command is controller 0, optionally followed by its LSB partner, controller 32. They are supposed to wait for the program change before changing sounds, but a few change instantly upon receipt of the bank change. The actual bank numbers are not always what you would expect. There is also the same confusion about starting with 0 or 1 that we have on the program numbers.
Some instruments also use bank changes to switch between performance and voice play mode.
Many instruments may have some other way of dealing with bank changes. When this is received as a program change, nothing happens, but the next program change is interpreted as a bank to load off disk.