Yeah, POE::Component::JobQueue seems to fit well in this picture. First POE::Wheel::SocketFactory would accept client connection and post requests to the job queue. Then one of the 10 job queue workes would pick up the request and create a new connection to the final destination and send the data from the original source to the final destination.
This will ensure that at any given time at most 10 connections are active. If the issue is that no more than 10 new connections should be created per second, then adding a delay of 0.1 second will be enough and one could bypass the mentioned job queue. The socket factory would get the request and fire off a proxy session with a 0.1 second delay.