That would work with profanity in most cases, but would it work with Fake? How would the moderator confirm that this really is a person named Fake, and not someone who doesn't want to give their real name?
A faxed copy of your ID and an onsite blood test obviously. :)
Seriously though, if someone wants to give a fake name they will, be it Caterina Fake or Caterina Doe so I don't think(short of the joking solution above) you will ever get around that in a way that is generally acceptable. In most cases though you are just looking to filter out the explit and "Fake Name" and "Not MyName" people.
When I ran a club website for my university we were asked to implement a policy of having full names recorded for all our members. This was a change from our previous practice of only storing handles for everyone. I had to go through and ask everyone to add their name to their profile. One individual did not update, so I contacted them individually. As it turned out, what I had assumed was a silly-sounding "fantasy role-playing" name was in fact her given name! So I ended up feeling silly myself, and learned a lesson about making assumptions.
In this case the university directory corroborated the identity of the member, but in the absence of a definitive reference like that, I now just give people the benefit of the doubt.
As for a better solution. Allow anything but flag the names you would normally ban to a moderator to have them checked over.