The thing about Pokemon is that there can't be just one mascot. Pokemon are cute, tough, beautiful, ugly, intriguing, dopey, and everything inbetween. We have Pokemon based on animals (mammals, reptiles, birds, bugs, plants), mythology, objects, and concepts. The reason Pikachu is the mascot is pretty much because it was considered "neutral". Yellow usually not associated with either boys and girls, everyone knows what a mouse is yet it looks different enough from a real one to tell its a unique creature, its Electric-type shows off its an unnatural creature than what we're used to in the normal world, and though cute its not "girly" cute.
If you want to see some diversity look up the Japanese Pokemon Center Store's logo. It always shows three Pokemon and, while one is Pikachu, generally they try diversifying the other 2. Infact a Mega Pokemon Center was opened up recently and its mascots are Pikachu and Mega Charizard Y:
Heck, the games usually show off the powerful Legendaries as their version mascots with no Pikachu in sight.
Pikachu is the face because there has to be one, it's chosen out of necessity and its neutral overall appeal to both boys and girls.