My experience has been that program changes with TH3 only work with VST2 plugin, not VST3 plugin.
The email below is from Overloud on 8/29/16 in which they acknowledge this problem. I just retested and still have the same problem with the VST3 plugin even though I'm on the most recent full version of TH3 (3.4.9) and CBB. Of course, I wish this would get resolved. And another problem is where you can record an automation lane successfully, but when you close and reopen the project, the automation disappears. This also was acknowledged by Overloud but they felt the problem was with Sonar at the time and was supposed to report a bug to Cakewalk. I would imagine this is lost in the shuffle in the meantime. I'm continuing to use the VST2 plugin since it's mostly working and you can get around automation problem by assigning Midi controllers in conjuction with Midi Learn using a Midi track.
Overloud email 8/29/16:
there is absolutely no difference in functionality between TH3 VST2 and VST3 (aside, of course, of this issue regarding MIDI which is obviously not intended).
The current state of TH3 VST3 as of version 3.2.2 is that it supports CCs and Note messages, but still not Program Changes.
It may sound funny somehow, but the VST3 specification does not include "out-of-the-box" support for Program Change messages, replaced by a much more convoluted abstraction (which no one really uses in its full capability).
The result is that the old "Program Change" functionality has to be "emulated" instead, in some way or another. At the moment we're deciding which way it is best to design this emulation.
The good news is that the VST2 is still fully functional with all its MIDI capability, so if you wish to update from the special 3.2.0 that we have sent, you can do so updating with the latest 3.2.2 and then remove the VST3 plug-in from your system (or choosing not to install it right from the installer).