Blood is not necessarily better then urine.
Urine is the standard for workplace testing in the United States. Blood testing is invasive and the testing is expense ($150 +) and takes 4 – 5 days. Mistakes happen because they don’t do very many. Detection in blood goes back about 1 day. Labs typically don’t have expanded panels for blood, just 5 or 10 panel; anything else would be specialty testing and very - very expensive.
Blood analysis may be appropriate in situations when it is suspected that a person is actively under the influence of a drug or alcohol. Since drugs are rapidly metabolized and eliminated from the body, blood analysis offers a very brief detection window. Drugs in blood are typically detectable within minutes to hours, depending on the drug and the dose, versus one to several days in urine.
I would actually recommend lab based oral fluid before blood for not-DOT post accident or reasonable suspicion.