I think the messenger is very wise to be honest. The fact is that he is fully aware that what he knows is going to be very unwelcome news to his king. For a shepherd, a man of such lowly status, to be the person revealing that information would mean his likely punishment. He is not a coward at all. He is only acting to try and limit the possible damage he might receive.
The reason why he is considered a coward is on account of his hesitation to reveal the truth. As many people stated, this was understandable. However, the real question is whether he is a coward or not. I think that he was not a coward. The Greeks made a very important distinction between "seeming to be" and "being." Based on this framework, we can say that the shepherd seemed like a coward, but he was not in reality.
The shepherd is a man who has shown a certain amount of bravery saving an abandoned child on a mountain side. Rather than leaving the baby to his fate (certain death), he makes sure he is cared for. Providence steps in and Oedipus becomes the cherished child of a king—Polybos.
Now that his actions are being questioned so many years later, it is not a surprise that the shepherd is at first hesitant to reveal what he knows. After all, he is only a shepherd. We already know that a king could do anything he wanted—if we think back to the crossroads where Oedipus and Laius meet. If Laius would kill someone for not giving him the right of way on a road, it is probably not cowardice but a healthy sense of self-preservation that keeps the shepherd silent at first. "He who fights and runs away, may turn and fight another day." (Tacitus) It's wise to speak wisely, and live to see another day. I see no cowardice in this.
Although he is acting rationally, he may very well consider himself a coward. You do not need to be brave to be rational: consider the famous line "A coward dies a thousand deaths, but a brave man's death is real," to which Terry Pratchett's cowardly (and very much alive) wizard Rincewind replied: "But that's the important one!" Once you're dead... that's pretty much it. Sometimes there is no shame in cowardice.
I agree that the shepherd is acting rationally; he is also acting compassionately, since he knows that revealing the "truth" is likely to be profoundly destructive, not only to Oedipus but also to many people (such as Jocasta) who have no idea of the "truth."
The shepherd is merely acting rationally when he hesitates to inform the king of the truth. The only reason there is a saying like "don't kill the messenger" is because the messenger has been killed so many times...
The shepherd is prudently trying to find a way out of his predicament and he can also be seen as making an effort to protect Oedipus from the terrible news.
He is acting very rationally in attempting to protect himself and the king from the repurcussions of the truth.