Yes, I also find ActiveState's PPM to be infuriatingly difficult to deal with. Not so much, however, the version that's on CPAN - it doesn't have the bells and whistles of ActiveState's version, but it does everything I want - and I've found it to be relatively parseable on those rare occasions where I've needed to get "behind the scenes".
I've only ever used that CPAN version with MinGW-built perls, and I don't know how difficult (or easy) it would be to replace ActiveState's PPM with it on ActivePerl.