A custom build won't rescue a bad process. If your clients are confused about your service today, a portal makes the confusion visible and permanent. Sort out the process on paper first.
It also won't be cheaper in year one. It won't be. You're paying to create something instead of renting something that already exists. The payoff comes later, and only if the thing you built keeps earning its keep.
Custom software needs an owner. Somebody has to decide what happens when a client requests a feature, when a browser update breaks a layout, or when a security patch is due. If nobody at your company will own that, a subscription is the safer bet, because the vendor owns it by default.
Some things are genuinely hard to replicate. Mature portal products have years of small refinements you'd never think to spec. Bulk file uploads that resume after a dropped connection. Accessibility for screen readers. Translations. Notification preferences that stop clients from unsubscribing entirely. You can build all of it. You'll pay for all of it.
And there's the migration problem nobody mentions in the sales meeting. If your clients already use a shared portal and have years of files and comment history in it, moving that out is a scripted export, not a drag and drop. Comment threads and permission histories often don't come along at all. Budget for that honestly or don't move.
A useful middle path exists. Build the custom logic and data layer that's truly yours, and use a proven service for authentication and file storage. You own the part that differentiates you and rent the part that's a solved problem.