I have seen flower blooms on the north rim around Memorial day, so late May- early June is probably a good time. I would think the south rim would bloom a little earlier, maybe March or April.
Desert flower blooms are very unpredictable in general and it is difficult to catch any area in full bloom. Usually desert wildflower blooms occur at a specific area and nearby areas that happen to be drier, different elevation, or different soil bloom at different times or do not bloom at all in the same year. The best bet is to watch wildflower reports and try to make it to a nearby hot spot when the reports come in. http://www.desertusa.com/
has good wildflower reports for most of the southwest.