They are both correct, but I prefer the first. The second is based on future conditions.
Student or Learner
I just want to know which (or both) is/are correct.
"He is the most handsome guy in the school by far."
"He is the most handsome guy in the school so far."
I would like you to help me out this.
They mean different things, and because of your beautiful, correct punctuation and quoting, I'll explain them!
1. "By far" mean "by a long way". It's better understood from a more concrete example. If I can jump 2 meters, and you can jump 3.5 meters, then you are better than me by 1.5 meters, which is "by far". It means, he is without doubt the most handsome guy in the school. "By a long shot" is a colloquial way of saying this.
2. "So far" means "up until now (in time)". It's a completely different concept. So a girl might say, ""He is the most handsome guy in the school so far, but they are still taking enrolments." (So a more handsome guy might still turn up.)
PS: How can the OP disagree if he doesn't know the assumptions you've made? If I were the OP, I would assume that you consider that they mean the same thing, and that you prefer 1.
Naturally, you can reply in whatever way you wish though.