You know what they say... Once you go black...
Actually, my 2002 OBS is my first black car in probably 5 years (4 cars in that time). I always wash my car every day at a professional car wash (yearly pass) and sometimes twice a day. Keeping the dirt off in the first place helps.
When I do wash it myself, I always use new terry cloths specifically made for washing (or those more expensive specialty car wash fabrics). I change cloths frequently and never intermix or use a towel I dropped on the ground.
Use a _LOT_ of water. Generally speaking, washing at home is bad because tap water has a lot of bad elements that jack up your paint something aweful. I generally use pre-mix car wash solution (Mother's, Meguire's, Zymol, Liquid Glass Pre-Cleaner, whatever) and have found good luck with those pre-mix or mix-with-water solutions.
When it comes to washing at home, definitely do it in the shade. If you use bad detergents, you get what you pay for. Even some of the more expensive brands can be detrimental to a black paint job. Zymol is definitely the way to go, but its probably $15 per wash cost
I find a good wax job does wonders to a black car. My last car I Liquid Glassed about 30 layers (in the garage) over a 10 day period (didn't take the car out), leaving 4 hours between coats, and then finally baking it all under the HOT sun at the end. The car looked good for 2 years, never had a problems.
If you have swirls, the swirls are there for good. You're NOT going to get them out using off-the-shelf products. You may be able to hide them temporarily, but only a professional machined wax job will do it, and that is only if they know how to run their machines. I see so many people pay $60 for a "quick machined wax" and I see how much pressure those idiots put into the buffer.
Also, Subaru paint sucks.