There can be several different goals for "sending Bank/Patch"... It is unclear what you want (especially after words "learn" and "launch").
If you want your MIDI controller send "Patch change", you need to configure your MIDI controller to send it. That is not something Cakewalk does, your controller can have special configuration method (controller dependent, f.e. for some "Launchpads": https://support.novationmusic.com/hc/en-gb/articles/360009860380--Launchpad-Components-Custom-Mode-Editor-Guide).
If you expect Cakewalk "translates" Control Change into Program Change (f.e. if your controller can't be configured): no, it can't. At least not on its own. You need 3d party converter, running inside Cakewalk (on the track in question only so called DX/MFX plug-ins will work, VST MIDI effects are visible as "instruments") or outside (f.e. Bome MIDI translator). All that is relatively tricky to setup and use...
But may be you really want something with "learn" and "launch"... Create "MIDI Clip" with required Program change and put it into a cell in the Matrix View (inside Cakewalk). Set it to "one time" (so it is not looped...), assign correct track and "Learn" external button to launch it.
Please note Cakewalk can "leak" original MIDI message from your controller into content (so, your MIDI device/plug-in will receive corresponding CC). I don't exclude this bug is still not fixed.