Re: "Searching for an opponent" long wait times
This happens more often that you would expect it to.
This technically means: "There are a ton of players on your side (Plants/Zombies) and not many on the other side (Zombies/Plants)."
The next time this happens, try switching sides. (If you usually play as Zombies, switch to plants and viceversa).
You will see that the queue time will drop drastically.
(Or just play some casuals meantime)