I would like to control the speed of a small 3 volt dc motor with a potentiometer. What specification for the potentiometer would I need for this?
The potentiometer will have to handle the maximum current drawn by the motor without overheating, and it needs a low enough resistance to pass a good proportion of that current when set to lower speeds. So the specifications of the potentiometer depend on the specifications of the motor.
Assuming your 'small' 3VDC motor is something like this, it may draw over 2A when stalled, and about 1A at maximum power. For this kind of current you will need a wirewound potentiometer rated at ~5W or higher (calculating the exact minimum rating required is tricky because it depends on how much of the resistance track is being used).
The advantage of a rheostat is that all the current passes through the motor so none is wasted. However because voltage drop across the resistor is proportional to motor current (which varies with loading) speed control is non-linear and regulation is very poor. In order to reduce motor speed at low current the maximum resistance has to be quite high.
For example if your motor draws 0.15A free-running and you want to reduce speed to 50% then the resistance needs to be 1.5V / 0.15A = 10Ω. However with that resistance the motor will slow down to a stall at only 0.3A. Higher speeds will be crowded at the top end of the dial, and continuous adjustment will be needed to stop the speed from varying wildly with different loads.
When wired as a voltage divider (ie. full potentiometer configuration) motor speed can be smoothly controlled down to zero, but the potentiometer draws continuous current even when the motor is off. A 10Ω pot will draw 3V / 10Ω = 0.3A when the dial is set to zero. Regulation at lower speeds is better than a rheostat, but still not as good as a proper voltage regulator or PWM speed controller.
Either way, using a potentiometer to control motor speed wastes power and gives poor speed regulation. A high power wirewound potentiometer may be more expensive and harder to obtain than a basic PWM speed controller.
Bruce's answer says it all.
Using a potentiometer (ie, a resistor) to control a motor is akin to setting your car into third gear, letting it idle forward, and using only the brakes to control your speed. It kinda sorta works, but efficiency is terrible, and it will stall at the slightest bump.
Well, we're not supposed to give shopping advice, but:
google "3V PWM motor controller."