Towards the end of March, I ported my T-Mobile number over to metroPCS on a Friday afternoon at a corporate store.
The FCC indicates a port should take no more than two (2) business days. Business days do not include weekends.
As of the following Tuesday evening, all services were working, except for incoming text. Incoming text apparently began to work overnight Tuesday night, as by the next morning (Wednesday), the phone received an incoming text.
Generally, the speed of a port will depend on how long it takes the losing carrier to release the phone number and how long it takes the receiving carrier to do what it needs to do on the backend of things.
I also have a prepaid TracFone (activated on Verizon) and while I tried to move (via their web site) the service and minutes from another TracFone (activated on T-Mobile) over to the Verizon TracFone, it unexpectedly also ported the phone number along with everything else. To make a long story short, this was done on a Friday evening and by 12 noon (EST) Saturday (the next day), the Verizon TracFone (after *228 programming) received the ported phone number and all services were working. So this port took less than 18 hours.
T-Mobile customer since 2005.