Depending on the legislation in your country, you can leave out a lot of painful steps during the sign-up process. For insurance for example, you only need very basic details, like personal data, house information and the users' preferences in coverage. Users can be guided in quick steps and depending on your brand, you can even enrich the experience with some fun and animations. Users giving consent through checkboxes and clicking 'Agreed' is already enough to create a contract. Depending on legislation, they'll have a certain amount of time to cancel the contract if they wish.
Now, depending on the complexity of the product, you're either already done at this stage, or you'll need to ask the user to supply additional documents. This requirement (mainly for loans) makes the process a bit more painful. You can ease the process by showing users what documents are missing, which ones have already been uploaded and offer tools to make uploading easier. The biggest challenge when it comes to signing and uploading things online is trust. Users want to know for sure that, what they're doing is the right thing, and that they're benefiting. Use microcopy, social proof and persuasion design aspects wherever possible. By being transparent about the process, like what's to come and what the requirements of documents are, you instil a sense of ease.
The insurers and loan companies I've worked for have always offered their users a 'my environment' after their initial request has been processed. This means they can log in and supply documents and read more information in a secured environment. The contract is not set in place until they've completed this process, recieved their offer, and have signed it and re-uploaded the contract. Once this is done, the contract is set in place.
If you have access to legal, you may want to inquire how it works in your country and when a contract becomes binding. The user flow for requesting a loan or insurance is by no means different from a regular sales funnel. There's just more paper work and user effort involved. If you chunk your content in logical bits, show progress and guide the user, you can ease the pain in this process greatly.