If you disable all logging both C and server side, the performance may increase significantly. A normal query with one java function call may provide 33-50% of the speed of a native function call (kernel 2.4 with NPTL). The overhead is because of TCP sockets and process change.
Performance is important for RDBMS procedural languages. It is more important than speed. Now PL-J uses a TCP based communication, but you have to know that this is not hardcoded to the implementation. So saying that PL-J uses remote call is half-truth. PL-J will follow the developement of PostgreSQL and will improve performance as much as possible.