The game is near unplayable on my system and I suspect many others, but I have an idea as to one cause.
To verify, you are going to need to modify your AGPM.kext info.plist to log the g-state of your card. Once done, use a kext tool to redo the cache and reboot.
What this does for you is show what "state" or speed your gpu is in at any one time. Each time it switches to a faster or slower speed there will be a corresponding line in your log.
On my system, which is a MBP 5,5 (9400m) the game is barely playable. It obviously jumps around and gets bogged down at times, but without any real connection to the number of items on the screen. Then a second later it is running much better with near 0 lag even if the FPS is still very low.
I looked at the logs and the g-state is switching back and forth from 1 to 0, then to 1 then to 0 every few seconds. 0 is full speed in my case (450mhz) and 1 is power savings (350mhz).
The thing is, it should not be doing that while playing. I loaded up the gl diagnostics in Xcode and the gpu is running constantly at 100%, with some free memory left. That means something, either a lion bug or a bug in diablo 3 is causing it to go crazy and cycle.
I would post this on the diablo forums, but only official beta members can do that. If anyone here is official, you might want to enable the logging and see if you get the same issue. If so, report away.
The only fix, that I can think of, is to force the system to only use g-state 0 by modifying the agpm.kext even more. I haven't done that yet though I might. I wish there was a better explanation for how the agpm variables worked, because I don't like monkeying with it without understanding really what I am doing.