I see what you are saying about the delays but that is not really the issue
If you think that the delays are not the issue, you really don't understand the problem.
You rely on one analogRead, but that only occurs when one cycle of whatever animation is current has completed.