Basically, each color change is started by crocheting the last step of the last stitch before the color change with the new color. So the last time you pull up a loop, it should be already with the new color. In detail: insert the hook, yarn over, pull up a loop (old color), take the new color, yarn over, pull draw through both loops on hook - first step of colorchanging is made.
During a normal color change, a clearly visible edge/stage is created. This can be reduced by doing the following: the first stitch of the new color is a slip stitch, which is pulled very tight (it will be skipped in the next round). After the slip stitch chain 1. These should not be too tight, because this will now replace the first stitch. The second stitch is normally a single crochet. Now finish the round as indicated.
In the following round, it should only be noted that - as already mentioned - the slip stitch is skipped and the chain is the first stitch now. Don't miss the second stitch, that happens easily. You should look at the little "V's" you see when you look at the piece of crochet from above.
The following photo shows the stitches I'm talking about. The stitch that the upper right arrow points to is the slip stitch that has to be skipped. The stitch on which the upper left arrow points is the chain, which is the new first stitch now and the second single crochet is placed in the stitch next to it (the third, lower arrow).
If you did everything right, the color change will look like this:
And as you can see, the transition is much smoother, regardless of if there are only one, two or more rounds between the color changes. For me this is the best method :o)