There are a million ways to do it; the specifications you provide are pretty vague and can be done in different ways.
Do you mean to be able to drag from one button to another?
Do you mean a "virtual joystick" on the screen?
Do you mean clicking multiple buttons at once, left and right at the same time for instance?
If the idea is simply to have 3 buttons, left, right, jump, then yes, you can use OnClick to catch taps. Or OnPress(bool pressed) if you want the event when they touch the screen rather than release.
I'm confused as to what you want OnHover for and the "without having to lift a finger off the screen".