There is no airport on St. John, so you fly to St. Thomas (STT). The major carriers are Delta and American. You can often get direct flights from major southern and east coast U.S. cities. If not, then the flight will go to San Juan and then you take a shortie (20 mins.) from San Juan to STT. Try to go direct to STT, because it is a nuisance to wait a few hours in San Juan for a 20 min. flight.
Then it is a short taxi ride (10 mins.) to downtown Charlotte Amalie and a long ferry ride (45 mins.) to Cruz Bay on St. John. Fares change, but currently they are about $6-8 for the short taxi and about $10 for the long ferry.
Or take a long taxi ride (at least 30 mins.) to Red Hook and a short ferry ride (15 mins.) to Cruz Bay. Fares are about $11 for the long taxi and $5 for the short ferry. Costs about the same either way. The taxi drivers on St. Thomas will have the ferry schedule from Charlotte Amalie.
Note -- the ferries from Red Hook to Cruz Bay leave every hour on the hour. If you are not in the taxi before half-past the hour, you have very little chance of making the ferry, and you will have to wait in Red Hook.
Baggage charge -- yes. $2 per bag for both taxi and ferry.
When you reach Cruz Bay, someone will probably be waiting for you. The rental car companies are all within easy walking distance of the ferry dock, or they will meet you. Plan ahead. During high season (December through June), you will need to reserve a car in advance. You can find lists of rental agencies at the St. John Travel Forum.