On the checkout page, add a select list to select the shipping carrier named "shippingCarrier":
<select name="shippingCarrier" id="shippingCarrier">
on the confirm page, near the bottom, you will see a collection of hidden form elements near the submit order button, add a new hidden element with the same name as the select list and set the initial value to capture the selection made on the checkout page:
<input name="shippingCarrier" type="hidden" id="shippingCarrier" value="<?php echo((isset($_POST["shippingCarrier"]))?$_POST["shippingCarrier"]:"") ?>" />
in the server behaviors panel, click the plus button and select eCart -> General -> Set Session Value. set the name to "shippingCarrier", for the trigger and value, click the lightning bolt icon and select the shippingCarrier form element.
click the plus button again and select eCart -> Shipping and select one of the shipping carrier you wish to use that has not already been added to set up the rate lookup for that carrier.
in the eCart object, you will need go to the shipping tab to set up the rules for each carrier, you already have USPS set up, the existing rule will look like:
"Based on US Postal Shipping Quote"
US Postal Shipping Quote is "!=" a value of "0"
"Based on US Postal Service shipping quote value"
Based on US Postal shipping quote "plus" "0"
you need to add another trigger to the rule:
"Based on Session Variable Value"
if the value of session variable "shippingCarrier" has a value of "USPS"
you will need to configure similar shipping rules for each service, all of them using the trigger for the corresponding service and checking the shippingCarrier session variable for the corresponding name.