For what it's worth, I tried to use Net::SSH::Perl for some heavy lifting a few months ago and had to give it up for this exact reason. Never figured out exactly why it didn't work, I just assumed that the module was either incomplete or broken.
Ended up using Net::SSH2 instead. Channel creation would still fail intermittently for no apparent reason, but atleast it worked well enough to get the job done.
I hope it helps...
--
Time flies when you don't know what you're doing