I connect through Charlotte quite frequently for work and vacation and have found it to be a very good airport for connections. It's not in the busy NE travel corridor, and during the winter, it rarely gets backed up with weather issues. Customs in Charlotte is very well set up.
I have used Miami airport, but not as much as Charlotte. Miami can be a little crazy to get around, especially if you are returning through Miami.
We've never been through Miami, but as BobandJudy alluded, I have heard that customs in Miami on the return can be a bit time consuming.
We typically go through Charlotte. Last December we went through Atlanta. Even compared to Atlanta, Charlotte was a breeze. Being a smaller airport, it is easy to navigate and the customs process has been smooth for us every time (knock on wood). For us, we'd pick the Charlotte route more times than not.
Charlotte is my favorite airport in the states. It's very new and modern and I've never had to wait or experience delays. Customs has always gone really smooth too. I've had one trip through Miami and it wasn't great. Houston either due to customs location a mile away from the terminals.
We'e done both. Charloote is a small airport and you can get away with shorter layovers. Miami is fine but bigger and busier. If you chose Miami and you are checking bags make sure you have a good amount of time coming back.
We live in Jacksonville Fl and next time we are not coming through Miami returning...we would rather go way out of the way, Miami and Customs is a pain in the neck!
You have to get off the plane, go through customs get your luggage, go back to customs and recheck your luggage before you board. You need plenty of time if you go through Miami..they are very unorganized.