At small volumes it does not make sense to go direct to carriers to secure shipping contracts. It is much better to leverage someone else's contracts.
There are lots of options, from consultants to API aggregators to the store platforms like Shopify. Generally the best option is your 3PL because if you picked one that is optimized for your type of business, meaning SKU count and dimweights, then the 3PL's contracts with carriers shared amongst tenants will be best optimized for your shipping profile, too. 3PLs also pose a benefit in that they should have multiple carrier contracts available, often including regionals, too. This means you have the potential to shop for better rates per order, as well as have added resiliency. It's hard to achieve those things when using only one carrier.