The last time I went through MIA, it took about 2h. And I'm an American. With Global Entry. This is just anecdotal, of course, but I consider MIA to be the worst airport in the country for arrivals.
As a US citizen, the longest it's ever taken me to clear immigration and customs at MIA is about 30 minutes before Global Entry was invented, and about five minutes since the advent of GE. What possibly could've taken two hours?