Use a single counter that is incremented every pass through the main program and is reset to zero when it passes 255.
Within the program loop, compare each LED PWM set value to the counter and turn the output on if the LED value is higher, or off if the LED value is lower than the counter.
Do not use any delays or wait for anything within the loop, other than possibly a short delay at the very start of the loop, if it is too fast.
Put counter increment and check, and all the LED PWM fade increments or decrements at the end of the loop, and only do those when the counter reaches 256 and you reset it to zero.
ps. If it's too slow and there is flicker, use a lower maximum count, eg. 0-100 rather than 0-255.