I'm not finding much direct out of miami. I have the choice to connect
in houston or fly direct to san pedro and connect with a flight there, not
sure which is better at this point. Probably less hassle to get the flight
direct to san pedro then a flight to the island.
There
are good itineraries out of Miami. Nothing non-stop, no - which is what many advise to take when possible, but I've never had that luxury for any trip beyond Texas & Albuquerque so I've never understand why non-stop is such a holy grail? In the 80s when Frequent Flyer miles were more rewarding, I often picked itineraries with extra changes to increase my FF miles and very seldom had any problems. Today, with FF miles being not so lucrative, I have to take at least 2 flights each way to get to any good diving: Seattle, Los Angeles, North Carolina, Miami, the Caribbean, Mexico, Central America - and 3 each way to Ambergris Cay or Ontario Canada and that last one involved a long car drive too, but I'd still do it again.
Anyway, when do you want to go, how much do you want to pay, and how much adventure do you want...?
I've never changed planes in San Pedo. I had a couple in my group try that once but when their flight canceled, there were not any backup flights with any airlines that their airline could endorse them to so they spent the night on the mainland and arrive in Utila by ferry the next day. I have changed in Houston many times and it's quite easy, easiest if you stick to the same airline of course.
Continental has simple itineraries thru Houston starting at $598 total, a nice price I think...

TACA, the first airline I took to Roatan which involved an airline change for me in Houston back then, has an adventure for $367 if you don't mind a ferry to Le Ceiba and an overnight there...

The prices have fluctuated a lot lately...