Why was St. Joseph given instructions in dreams? (Roman Catholic perspective) We see that St. Joseph was given instruction by the Lord in dreams, as follows:

But after he had considered this, an angel of the Lord appeared to him in a dream and said, “Joseph son of David, do not be afraid to take Mary home as your wife, because what is conceived in her is from the Holy Spirit. (Matthew 1:20 - NIV)
When they had gone, an angel of the Lord appeared to Joseph in a dream. “Get up,” he said, “take the child and his mother and escape to Egypt. Stay there until I tell you, for Herod is going to search for the child to kill him.” (Matthew 2:13)
After Herod died, an angel of the Lord appeared in a dream to Joseph in Egypt. (Matthew 2:19)

But then we also see that St.Mary was directly met by the Angel of the Lord during the Annunciation.
One might argue that the role that Joseph was assigned with, as both the foster father and the guardian of infant Jesus, was no less important than the role that was given to Mary. Given that, I wonder why Joseph was not given instructions in person by an angel. Do the teachings of the Roman Catholic Church mention anything to explain the difference?
I am the Eastern Orthodox. But as both we and Catholics honor John Chrysostom as Saint and Doctor of the Church, I think his answer to the original question could be considered as the both Eastern Orthodox and Catholic view:


  And why not openly, as to the shepherds, and to Zacharias, and to the Virgin? The man was exceedingly full of faith, and needed not this vision. Whereas the Virgin, as having declared to her very exceeding good tidings, greater than to Zacharias, and this before the event, needed also a marvellous vision; and the shepherds, as being by disposition rather dull and clownish. But this man, after the conception, and wide the interval between the two men; wherefore neither was there need of rebuke.


http://www.newadvent.org/fathers/200104.htm

Sorry for the bad English.