I implemented the pool switching using API and it seems to work very well, been running @159GH/s for a few hours now.
I also tried to use BFGMiner as getwork proxy for chainminer, but for some reason BFGMiner sees most of the shares as HW errors, only few get accepted. Dunno what's with that...
I tried to tune the scan delay multiplier and shift value, but they seems to be optimal already. When i set the shift value to 0x200000 (from default 0x1200000), speed sank about 5% or so... Currently running with all chips on speed 55, which seems to be 8GH/s better than the settings i use with chainminer.