Update - Tried Vbulletin and was quickly and consistently overwhelmed by spam posters. Basically couldn't really approve any registrations without deep IP analysis. Russia / China / Ukraine etc. to the tune of dozens++ per day. I shut it down. I think forums are basically dead with all of the spamming going on.
Yeah but there is a pattern to them. In a new forum (phpbb) there are few registrations so normal names or sayings are available. I could register gord or gordon etc. The spam posters use something like henrywright45637 or stuff like that. Easily identifiable. With that and setting the first few posts on moderate it can work. If the first posts are automated spam then I just do a mass account delete.
Here's a bunch I just pruned
rosalindel11, pearllo3, murielgf4, dianneki18, kendrazv2, caragg69, leonardoq16, alfredso2, hattieqd18, morgandq4, dannyap69, arlinehj4, robertea3, carlyje1, angeliarv1, bonitays2, bethanyjm69, eduardoyh4, priscilladv16, brittneyxf18, stephenwb11, coryqh2, bobbyrh2, claudiavz2, douglasdz60, codyon60, lilyuc1, jacquelynjh4
You can see the pattern above! No need to check the IP.
I also use the admin approval module. The email address (which usually doesn't really exist) has to respond and the accounts are not approved until they do. There is a section where the new registrations are and if they haven't responded after a week to the verify account email I just do a mass delete.
All together run properly it can take 20-30 minutes a week to handle. I'm proud to say I've only had one minor spam incident in 4 years.
The real difficulty in a forum is getting people to post. 1/100 there.