I think
Joey is completely obnoxious, to tell the truth. It's like
Timmy in that it screams "Noisy brat in commercials" and it does not age well at all. It's just a bratty, babyish cutesy kind of name.
Joseph is so much nicer; I wouldn't call a kid
Joseph for everyday use, but I wouldn't have any problem naming him
Joseph so he could be called
Joe.
Joe is a great name that ages well, and as our VP and many others have shown, it works fine even in formal situations.