You can assign a single MIDI message to any of the foot switches and both the onboard and external expression pedals, and they don't need to be assigned to effects, so for example I have some patches where I play mainly keyboard where the pedals only send MIDI patch change or CC7 (volume).
But there are limitations with the switches in the way that they behave:
Program Change is fine - does what you expect
Note On messages are fine - press down it sends Note On, lift foot it sends Note Off.
CC - problem - at least for me. For example I would love to have and HD500 pedal send the CC for Damper/Sustain in order to reduce the number of pedals, but for CC it only has a single value per pedal - so the pedal can be set to send Sustain On (val = 127), but not Sustain Off (val = 0) when you lift off the pedal. Great if you want cacophony as every note you play on the keyboard carries on indefinitely. You can work around it to have two pedals assigned, one for sustain on and another for sustain off, but that is not exactly convenient when playing.
I don't know anything about the Pedal Switch, so I looked it up. It appears that it has 10 Patches and that these can be accessed using Program Change messages - but the functionality is limited unless you are using one of their dedicated controllers. The HD will send a PC each time you change Patch (on the default channel) but unfortunately this cannot be redefined so it doesn't even offer decent integration with other L6 gear such as M9 or M16, so all you can do is define HD Pedals to send Patch Changes.
From the Pedal Switch FAQ it looks like things are limited:
Can I use a third-party MIDI footcontroller with Pedal Switcher?
Not really. You can call up the Pedal Switcher’s presets with MIDI program change commands,
but there is no way to save or modify presets without Commander