Probably not faulty.
The switch has about 10 degrees of rotation on it when mounted on the side of the box, and if it's out too far you can get a confused signal. The xyz switch outputs a grey code from memory, so only 1 signal at a time should change, in between fully in one state or another it creates an invalid code so the transmission controller knows that it is intermediate.
Attachment 129057
See the image I've attached. But if you go too far into 3 from D then you may end up with a mixed signal.
It's probably a really tiny adjustment - I think I posted a while back that probably the best way to do it is to put into Neutral with ignition on and then rotate the switch until it says R, note that position and then rotate it until it says D and mark that position. The best position should then be in the middle to read off N. It then aligns all of the switch contacts.
It may also be that perhaps the cable needs loosening and then retighten, it might just be holding the switch off a 'click', I can't remember if the switch is smooth rotary or notchy.
In any case, it's only a 5 min job - I think the transmission controller and BCU like to actually know the gear though.

