This discussion about rating self is quite intriguing. I have never asked this question, but if I am, I will tell the interviewer that it probably will not be much benefit for him to tell him how I rate my own skill without any standard. Instead, I will ask him what criterias according to him will make someone a 1, a 5, or a 10. Then, I can tell him where I think I stand on his (own) rating system. If he still leave it as an open question, I will at least tell him the reasoning why I rate myself a 5, a 7, or a 9 (don't think will ever say I am a 10). E.g. I will iterate specific topics or areas of the technology and which one I know well, how long have I spent time working on those areas, etc.
Asking a candidate to rate himself (w/out much standard/guidelines) seems to me like asking a developer to develop an app/feature without much detail. An inexperienced one will simply jump into creating one, assuming he knows what needs to be done. An experienced one will ask back (and keep asking) until the client (in this case the interviewer) give him a concrete target to work on. If not (like in many cases), he will at least states some assumptions on the solution, doing his best to show that his solution is correct (whether the requirement is correct or not, it is the client's failure to make it clear to the developer).