I am also looking for a good solution to this problem.
What I am doing at the moment is keeping a field with the process instance id (dbid) in my domain object and use a custom hibernate query with a new constructor to dynamically create objects that contain the joined data from the jBPM task and the domain object.
But this is pretty ugly since you have to do all the user and group checking which the findPersonalTasks() method is doing yourself inside the hql query, on the other hand you can do paging and result filtering.