For ground shipping, three weeks shipping time isn't unreasonable considering you are also shipping from the east coast. It'll take a few days to a week or so by ground to get it to the Port of Long Beach, then a couple of weeks by boat to get to the islands. Besides actual transit time, there is time taken to unload the cargo ships and sort/deliver the cargo to the appropriate destinations, and that could add a few days. To put in perspective, it takes about two weeks for USPS to ship a standard letter, by boat, from the islands to the west coast.
Long shipping times or outrageous expedited shipping rates is a price you pay for living in Hawaii.
If you paid for 3-day, or 2-day expedited shipping, then the 3 weeks isn't acceptable.