These tips were compiled from various email lists.
Stripes in the round: (This only works if you have a minimum of 2 rows per stripe)
Knit 1 round of the new color.
When faced with the first stitch of the second round: pick up a loop of the first color from the preceding row and place it on the left needle. Knit together both the first stitch of the new color *and* the picked up stitch of the previous row. Continue knitting around.
I pulled a long tail at each change of color and wove the ends taking the white end and passing it over the red and visa versa. On the purl side, I wove through the purl bumps of the same color on the same row. You can hardly tell that there is a color change, in fact, I had to do some frogging to make the toe longer and I couldn't find where the join was. I tried to do it other ways but the most successful for me was the breaking of the thread and weaving. Knots aren't satisfactory.
I find that if I tie together the ends of the two colours of yarn, pulling them _tight_, that most of the "jog" disappears. It is simple, and the knot is small and almost unnoticeable. I hope this helps.
"Knit the first stitch of your new round with both colours, then knit the second stitch with the appropriate colour. Now you can tighten the thread from the first stitch whose colour you don't want to see. I think I read how to do this in Viebeke Lind's book on Nordic Knitting."
In circular knitting: when adding a new color or stripe, prevent a jog at the joining point by lifting the right side of the stitch below onto the left needle and knit it together with the stitch.