I did the J-1 trainee program for 18 months and went into an H1B from that. It was ideal for me because I came right out of school without work experience and it made the process very easy.
One downside was that I had to stay in the US between filing for H1B status and receiving it (you file in the spring, but get the status on October 1st) because the H1B is a dual intent visa (meaning you can state that you want to stay in the US permanently and it is not just a temporary visa) in case they questioned me at the border about the conflicting status of my J-1 and H1B petition.