Originally Posted by Kaun
I have read about different methods but still don't fully understand what's the most effective way to train it.
The most effective way is the one that you understand and can use with your dog.
When exactly is your dog going crooked? If he's coming in crooked, you may find it helpful to build a "channel" of poles to guide your dog in a straight line. I use cavaletti poles, a friend of mine uses weave poles -- it doesn't matter what you use, just that it's a barricade sufficient to guide your dog without creating too much spatial pressure.
Alternatively, a target mat can be helpful, as can a foot target placed directly in front of your feet. Some trainers with small dogs teach their dogs to Front with one paw on top of the trainer's shoe; this encourages the dogs to come in quite close (plus it's pretty cute to see a Border Terrier come in with a dainty little foot target on the Front).
As yet another alternative, you can bait the dog either to come in close (I think Mrs. K has a good demo video of this -- basically you're luring the dog into the desired straight position and feeding there to reward in position) or toss the treat between your legs to encourage a rush if you're having difficulty with a slower recall.
If your dog is coming in straight but sitting crooked (rolled over on one hip or slanted to the side or whatever), personally I'd go back and re-teach a square Sit until I was completely happy with that, and then worry about getting it in Front via one of the methods described above.
I don't have videos offhand, but hey, we have a whole new subforum for that now, maybe a request thread there will spur some video answers.