I've done the LHR-YYZ-USA transit and it's a pain but do-able in less than 2 hours so your three hours should be fine. You might want to also be aware that US immigration there is the rudest in North American in my experience and that of others I've spoken to.