I have the Thrustmaster t16000m which is your basic joystick (with yaw). Does the job. I use that for direction and pew pew and keyboard for throttle and other bits (though it has a throttle and buttons you could use instead if you prefer).
I set all mostly needed controls on my T16000M : on top Shoot 1 and 2, Target ship, Deploy hardpoints (the last three also being used to navigate top rows and select in panel mode) thumbstick used for assigning power pips / navigating inside panels.
Left base buttons : Assist on/off, Inverse power on/off, Boost, Next weapons group, FSD SC and FSD Jump
Right base buttons : Gear up/down, Cargo scoop, Lights
Still have 3 buttons available on the right, but they are more difficult to access and I didn't find anything important to assign there. I use keyboard only for thrusters up/down and right/left. ( and F10 to take screenshots ! )
Also to save time I have direct keys for Chaff (C) and Shield cells (X), faster than switching weapons group. (and you're usually in a hurry when you use them...

)
The throttle is not ideal, but in Elite you don't use it that much. I'm used to my Saitek Quadrant for my flight sims which is a lot more precise, but impossible to have it work in Elite, I have to unplug it as the three axes are in conflict with joystick.