And what about the difficulty !!
What about it. It serves it's purpose.
difficulty hurts the timing of block ?
No. Difficulty creates the timing of the block.
If the blocks come too fast (faster than 2016 blocks every 20160 minutes), then the difficulty increases to slow the blocks back down to 1 block in the world every 10 minutes.
If the blocks come too slow (slower than 2016 blocks every 20160 minutes), then the difficulty decreases to speed the blocks back up to 1 block in the world every 10 minutes.
Pretend that you are rolling a six sided die, and I tell you that the "winner" is the first person to roll 3 sixes consecutively. In the beginning you will average 3 sixes consecutively once every 216 attempts. If the speed you roll your die is one roll every second, you will get 3 sixes consecutively once every 3.6 minutes. Now pretend that 6 more people join the game. Suddenly 3 consecutive sixes are showing up among the entire group on average every 36 seconds. That's too fast. I want to slow the game down, so I adjust the difficulty and tell you that now in order to "win" you have to be the first to roll 4 consecutive sixes. That increases the odds enough that we are back to it occurring once every 3.6 minutes. As you add more and more players, I can continue to adjust the difficulty of the game to make sure that there is only one winner every 3.6 minutes.