Junior is used to distinguish a son with the same name as his father. The following conditions apply:
1. The Junior must be a son of the father, not a grandson.
2. The names must be exactly the same, including the middle name.
3. The father must still be living.
'II' is used whenever any close relative, including for example a grandfather or a great-uncle, shares the same name as the child.
Based on that, I think your son is technically John Jr, and you are John Sr only when it's necessary to distinguish you from your son. I agree that "John Smith the first" is pretty silly, and you shouldn't even have to be introduced as John Senior. You're just John, and your son should be introduced as John Junior.
I think you'd only use a Roman numeral I if it was necessary to distinguish the first bearer of a name from more than one descendant bearer.
Please vote on my list? http://www.behindthename.com/pnl/40985