I agree that in the USA the word "jock" normally has a negative meaning. It is a stereotype. If you want to describe someone who is athletic and sportsmanlike you can use "athlete." "Jock" typically means someone who has more muscles than brains and is arrogant, and the word often has a bully connotation. When I think of the opposite of "jock," I think of "nerd," but "nerds" are rarely associated with sports (except chess ). However, there are some people who like to be called "jocks," because it infers masculinity and toughness, just like some people like being called a "nerd" because it can infer superior intelligence or academic achievement. I would be careful of using either word.