Testing methods for detecting performance enhancing drugs are just fine. The problem lies in highly-paid athletes who cheat and get around the tests. Somehow, Barry Bonds was able to get around MLB's testing procedures for years. If all sports leagues tested every athlete, there would be no one left to play games because too many hulking men would be suspended for violating substance abuse policies.
No, existing tests do not even come close to being sufficient. All of the major sports keep having their stars test positive for certain substances. None of those players are even remotely as big as National Football League players. It's almost a crime to deny that players in the National Football League are using all forms of illegal substances. Very few of them seem to get caught.