Blender Game Engine - Jumping help for 2.76
The way you describe is good.

You apply a velocity as long as the user holds a key. This turns the character into a rocket (constantly firing the engine). 

Keyboard sensor -&gt; AND/OR -&gt; Motion Actuator [LinV (0,0,1)]


Another way is to apply a force. The advantage is that it adds to the current velocity rather than replacing it. 

Keyboard sensor -&gt; AND/OR -&gt; Motion Actuator [Force (0,0,1)]


Hint:
Regarding slow falling - Are you aware that the default cube has a size of 2x2x2meters? If you box-modeled your character from that it might be a giant of 10+meters. It will surely fall slower as it travels a large distance.