As Lefty says, if you use a bipolar power-transistor, you'll most likely need a heatsink. You say the load is 12V; is that the actual voltage-drop expected over the load, or just the voltage you intend to
supply it from?
Power dissipated by the power transistor (if you hook it up like a darlington as Lefty first suggested) will be (Vsupply-Vloaddrop) x 3A. I'd hope that the load has a
very constant voltage drop, if it does then you might be able to ensure there's not too much across the power transistor, if you can adjust the supply voltage.
Then you can work out the total thermal resistance needed (remember, resistance is opposite of conduction-a powerful heatsink has LOW resistance!), as (max junction temperature - ambient temperature) / max power dissipated (by transistor).
If you insist on running your transistor without ANY heatsink (ow) then this figure you've just calculated MUST be more than the figure the transistor has for "Rth(junction-to-ambient)". ("Rth" is Thermal Resistance; the "th" may be a "theta" character like (-) which we can't use here). Do not use the "junction-to-case" figure for this, that's just for if you use a heatsink!
If instead you choose to use a small heatsink, then subtract about 6C/W from the figure calculated for required resistance, which would be a conservative estimate for the resistance of the case and the interface (between case and sink). The figure you're left with will be the maximum thermal resistance you can get away with for your heatsink. If you use a higher resistance, the transistor will get too hot.
Hope all that made sense...
If you can't use a power transistor with or without a heatsink, your other alternatives would seem to be (a) use a relay if you can fit one somewhere, (b) use a mosfet like Lefty said. Or (c) alter the specifications of the project so you can fit more in