Serial.read() is falling behind with inputs

CrossRoads:
I am just the opposite - I hate having to jump all over the place trying to find some function to see what is going on.

I find when the functions are sensibly named the whole thing is obvious from a quick read of loop() - for example

void loop()  {
    readButtons();
    flashLeds();
    moveServo();
}

Then if I am having trouble I just need to look at the function that is misbehaving.

Undoubtedly there is some overhead in switching between functions but I haven't yet had a project where that "wastage" mattered. In any case the compiler can sometimes be clever enough to generate inline code without calls. I know that because it did it when I didn't want it to.

...R