In order for different humanoid races (humans, elves, orcs, dwarves..) to evolve, they need to be separated for a long time, in different environments. However, if all races are supposed to be sentient, their common ancestor must have been sentient. If we take this as the point where humans have become behaviorally modern, that common ancestor would develop into a modern society in about 50,000 years. However, that does seem a somewhat short time-scale to allow for different evolutionary paths, considering anatomically modern humans are about 200,000 years old.
Somehow, development of civilization would have to be suspended for about 150,000 years to allow for additional evolution. The most logical target would be agriculture, which arose about 10,000 years ago, which suggests that agriculture takes a while to figure out, but once it's there, civilization will develop quickly.
Although development of agriculture is slow, it's somewhat inevitable, as even in Aboriginal Australia some very early forms where practiced before the Europeans arrived. Locking every race out of suitable areas would seem futile.
A thought I had was to use a volcanic or impact winter, where conditions would simply be too harsh to allow for effective agriculture. But what I could find of their time-scales, they seemed too short.
So how could cognitively modern humanoids be delayed in agriculture, and civilization after that, to give them enough time to evolve into different races?
 I know of the question Multiple humanoid evolution. This question is about timescales, since it generally takes longer for a species to evolve than to develop civilization after attaining behavioral modernity.