Time, in particular, Really depends a lot on when you are making this transfer.
There are a lot of ways to do this. Most end with taking the metro from either The Greenbelt metro station, or union station to DCA. There are 21/25 busses from BWI to GB metro stop.
During serious AM rush hour in particular, there is MARC and Amtrak from the BWI station(served by shuttle bus) to Union Station.
You can find these options on:
http://www.bwiairport.com/ which is, overall, a lousy site, but better than the airport itself.
Searches are not too good, as some of the services have changed recently.
My last taxi cost $50 at 6am on a Sun.
How to:
DC taxis do not have meters. Look for one dropping people off. Agree to a rate.
Will take 1 hr at 6am on Sun, and maybe 2-3hrs at 7:30am on weekday(maybe longer).