There shouldn’t be a cost to transfer. Schwab can handle the transfer.
The safest way to do it is the longest way to do it: which is to transfer cash over to the schwab account as positions are sold off in your present account.
The quickest way to do it is to have Schwab transfer the positions over from WeBull to Schwab. Schwab can tell you how long that would take. That’s at least days but could be longer. They can tell you. The only disadvantage to this quicker way is that you can’t sell anything while its in transition.
You might pick their brains at Schwab and see what they say about the length of time for the transfer, etc. and then make your decision.
But yes, there’s a myriad of reasons why I ONLY recommend Ameritrade or Schwab.