I've tried to reduce the time spent on RBL and RHSBL lookups by writing an own optimized lookup routine, the results are as following:

# ./bench.pl
Benchmark: timing 100000 iterations of net-dns, own...
   net-dns: 212 wallclock secs (168.62 usr + 11.34 sys = 179.95 CPU) @ 555.70/s (n=100000)
       own: 29 wallclock secs ( 9.41 usr +  3.68 sys = 13.09 CPU) @ 7637.23/s (n=100000)
As you can see we save a lot of time. The perl script to test it can be found here