Another problem I personally struggle with in peer-review publication process is the situation when review takes really, really, really long. The precise definition of "long" is probably very area-specific: for example a paper is Maths will probably took longer to review than a Phys paper. Many well-established journals and major publishers, sadly, prefer not specify the "rules of a game" precisely, particularly how long the review process should normally take. Fortunately, I quite often serve as a referee with the very same journals and know the amount of time I am given to write a review. Unfortunately, when I am an author, I do not observe these deadlines to be always met. For example, a notable U.S. publisher would ask a reviewer to send a review in 2 months; but in practice a first review of my paper took as long as 8 months once.
As a rule of thumb, I usually start writing to editors with questions about "the status of my paper" in X+1 months time, when X is a deadline time for a reviewer to submit a review. This strategy is not particularly successful — what I usually get is a recommendation to be more patient. Since there is no "official" deadline time announced, there is no formal ground for complaints here.
Of course, such delays lead to the whole bunch of funny situations, particularly if a preprint is put online (e.g. on arXiv) and the results are presented on some conferences. Follow-ups with no official paper to cite, grant applications which you can not justify by a solid publication, good research but bad bibliometrics or CV, to name just a few.
Could you recommend an efficient way to deal with this problem?