The PWM frequency should be selected so that it does not create too much current ripple in the motor windings. Current ripple results in heating of the motor.
In theory there is no drawback in using very high frequencies, but in practice high frequencies mean more trouble with the driving circuitry, not the motor iself. (more complicated circuitry and switching losses).
So, choose the pwm frequency so that the ripple stays "small enough".
Also, Low quality dc-motors usually have high friction and therefore need a high current pulse to get started. That is why low frequency PWM seems to work better with some motors. But, lowering the PWM frequency just to get that "starting torque" is wrong.. you will end up with a current ripple which overheats your motor. (DC) Motors always run better, smoother, cooler and quieter with higher pwm freq.
Here is some theory, but you really don't need that. Just measure the ripple current at 50% duty and choose your pwm frequency so that it is "small".. I mean.. maybe 5% or less from the full swing.
**broken link removed**
And, if your electronics can't do "high enough" pwm frequency, then a perfectly good solution is to add inductance in series with the motor. That smooths out the ripple also.