Let me put it this way. Since the return trip for us was through Phila this past Saturday I feel qualified to say that we always try to fly through CLT because it is newer/cleaner/and generally the people are nicer. However, we chose to give PHL another chance since it got us to SXM earlier than the CLT connection flight when we booked.

We arrived on USAir Flt#878 SXM to PHL just after 7PM. First stop Passport check, over 1,000 people in single line (rat maze) and 4 windows operating ("we cut down staff after 6PM"), then customs/immigration, then security, then shuttle to different terminal by bus/then security again, then to our gate. Over 1.5 hours from beginning to end in PHL.
No brainer for me, never again.