Hi Pierpaolo,
You can use both tecniques to interact with the human task service. If you should choose the underlaying transport communication based on your needs. If you want to interact with the human task component with an application that was written in a different language than java you don't have too much options. REST is the only way to go. But if you are planning to use Java there is no best way, it really depends on the extra features that you are looking for. Right now the TaskClient has three flavors: Local (Embedded), Mina and JMS/HornetQ.
For calling a REST interface there is a lot of frameworks that do the work for you, you should investigate about that but in no way is related with how jBPM or the Human Task service works, it's just an interface.
Cheers