Yeah, and 'R&B' is an example why matching like that is anything but foolproof.
According to your rules - remove "special" chars, collapse whitespace -, "R'n'B", "RnB" and "RNB" are all considered equal, while "R&B" differs. But the users will naturally expect that "R&B" == "RnB"...
Intelligent matching is a race between the programmer and users that the former can't ever win - not because we don't have the technology, but because no two people have the absolutely exact same idea of which two words are identical and which aren't. The best thing the program can do is to give the user the tools they need to get it to do what they want, which MusicBee already does quite well: have you checked out genre categories?