If you have a choice without any other considerations (i.e. similar price, time etc.), DCA is much closer to the center of the city than IAD. About 10 minutes versus 45 minutes driving (may vary with traffic).
DCA is, however, a domestic airport. If you are flying in from abroad (as you say you are), you will be connecting somewhere else in the US to end at DCA. Conversely, IAD has direct flights from many international hubs.
Ultimately, I don't think the choice of DC airport matters all that much for an international traveler. Yes, you save a bit of time using DCA in terms of getting to/from the airport. But, the overall itinerary (including layovers and price) is likely to be a much greater factor in your decision.
Indeed, to get the best itinerary/price you may also want to consider Baltimore-Washington International Airport (BWI). It is a bit further away than IAD (50-55 min drive), but if you can get a more direct or cheaper flight there, it may be a good option for you.
So, my advice, check out flights to all 3 DC airports. Consider the overall price and the total travel time (including connections and travel from the airport) and choose the best flight overall. I doubt the 30-45 minutes that DCA saves you on the ground will be the deciding factor.
Update in response to edit
Both airports have shuttles. They are privately operated in both cases. DCA is also connected to the DC metro. To take the metro from IAD requires a shuttle bus to the end of the line.
Prices going from DCA may be lower than from IAD (depending on which mode of transport you choose). SuperShuttle (a shared ride shuttle service) charges 29 USD dollars from either airport to the city center.
To reiterate, if you have a choice between two travel itineraries that are otherwise identical in terms of price and travel duration, choose DCA. It is closer, saving you time. You have the option of using the metro. And just getting a taxi wont be an overly expensive option.