As far as I know, with the stock messaging app (or handcent, or Go), you are always using your cellular data to send/receive. That is why I asked about the app. So the delays/failures are probably related to the network, not your phone. I have had problems sending picture messages sometimes.
The only way to send over WiFi only is to use an app like Tango, as far as I know.
good luck