It is not illegal to charge before the items ship, but many reputable companies have a policy to run the charge just before shipping.
Some of you may have followed threads elsewhere about a holster maker (absolutely NO connection to Graham or Pale Horse!) who charged cards when the order was made, had extremely long wait times, and then filed for bankruptcy. When that happens, you are nothing but an unsecured creditor in line to get your money back.