I made a little headway on this. This is not a guarantee fix as I have only tested this for an hour or so and I have not gotten any reboots or panics and am able to fully utilize the AMD graphics card, dynamically switch, etc. I have forced sleep and wake up, closed/opened the cover, and so far so good. I can't get it to panic, but this really needs to tried over a few days. I would really like others to try. Here is my history...
I noticed that this does not happen in safe mode. So I needed to find the difference. I looked at the normal login's kexts that are loaded which seem to be associated with AMD. I opened terminal and did a sudo kextstat | grep AMD. It gave me the following:
com.apple.kext.AMDSupport
com.apple.kext.AMDRadeonX6000Framebuffer
com.apple.kext.AMDRadeonServiceManager.kext
com.apple.kext.AMDRadeonX6000HWServices
com.apple.kext.AMDRadeonX6000
com.apple.kext.AMDRadeonX6100HWLibs
But when I boot in safe mode, it only lists:
com.apple.kext.AMDSupport
com.apple.kext.AMDRadeonX6000Framebuffer
So I started to assume that it had to be software and one of the kexts that are not in safe mode must be the culprit. I didn't want to touch the AMDRadeonX6000* named kexts at first as I felt they were core. You can't really unload any of them except for com.apple.kext.AMDRadeonX6100HWLibs, which if unloaded, it just doesn't allow the AMD GPU to activate and it will hang any application that attempts to use. So I decided to try com.apple.kext.AMDRadeonServiceManager.kext. Again it won't allow you to unload it because of interdependencies, but you can certainly disable it.
To disable it, you need to boot into recovery mode (reboot and hold down the Command-r). Once in recovery mode, open disk utility and mount your main disk It may ask you to type in your password to decrypt it. Mine is called "Mac OS". Exit disk utility and then under the Utilities menu, select terminal. Once in terminal, type "cd /Volumes/Mac OS/System/Library/Extensions" and hit enter. Remember "Mac OS" is the name of my drive, yours may differ. Once you have done this, type "mv ./AMDRadeonServiceManager.kext ./AMDRadeonServiceManager.kext.orig". This essentially renames that file to prevent it from loading. Once done, exit the terminal and restart the computer.
So far, its appearing that the AMDRadeonServiceManager.kext is the problem. I honestly don't know the impact on the system having it disabled, but at this stage I haven't had any reboots. I think I need more time to be sure this temporarily fixes it. You can put it back to normal by following the above but type in "mv ./AMDRadeonServiceManager.kext.orig ./AMDRadeonServiceManager.kext" instead.
If others want to try, please do so and report back. This may not be the issue nor a fix. So YMMV. Do this purely at your own risk and I am not responsible if you mistype something and prevent your system from booting. Only do this if you are comfortable in terminal and using UNIX commands.
I'll report back in the next day to see if my system has stabilized.