What about "smartypants"? For me, it refers to a person who is too clever for their own good, and cheeky to boot.
Would that be mainly US or British English?