Apologies, I haven't read the full thread but there is a lot of good info in this thread about patch changing
I personally use patchnames via strings to load patches. It is MattilynMattroes' version of patchloading, and is very effective. You essentially have an init patch that loads on start up containing all your patches. Then in every patch you have a button/controller etc that refers back to that patch and loads it. I use it with an Oled which is fantastic, but the approach is not limited to Oled.....in this thread I go into alot of detail, and give examples about how to do it....
The reason I mention it here is that I personally find it the most approachable, least complicated way of dealing with patches YMMV.