On Tuesday and Wednesday, CNET’s team made survey to check iPhone 3G availability. During those two days they contacted 50 AT&T stores in 21 cities and unfortunately none of them had it in stock. Some of them haven’t been refilled with iPhones since the official launch day. Most AT&T stores are accepting "direct fulfillment" orders, which means you pay for the phone now and receive it when the shipments arrives, but the process can take between 10 and 21 days.
The Apple retail stores seem to be handling the situation better. Seven of the stores they called had iPhone 3G in stock and three ran out them on Wednesday morning. Currently it is almost impossible to just barge in and get one because of the large amount of orders and long queue. The best chance of getting one at this point is to make an order and wait.