The high current draw at lower speed and lower current draw at higher speed is normal.
For a given supply voltage, a DC motor at lower speed will produce more torque (hence more current) than the same motor at high speed where it will produce less torque (less current) but it's running at more speed, if that makes sense.
Output torque of the motor is directly proportional to current.
http://www.me.umn.edu/courses/me2011/ar ... -tutorial/
Higher current draw at lower speed has nothing to do with PWM inefficiency.
PWM is very efficient as long as the frequency is high enough.