I personally don't like game classes. They tend to limit the number of fighting styles to the number of classes.
About switching styles...don't you already do that when you switch swords?
Anyways, to make gameplay more customizable, I would suggest making the unique variants have a greater effect on the weapons instead.
Or maybe some new types of unique variants. For example,
for all weapons: ability to inflict status effects
for swords: combo length,
for guns: ammo size, speed of the shot, reloading time,
for guns: fuse length, range of effect,
That is what the in game classes are really for. They provide health, speed, defence and other variables that apply to the style of play.