It depends on what you are trying to do. If you are trying to reshape passageways or something the only way would be to decompile and recompile the map, which as A Boojum Snark stated, is not worth the trouble.
You can, however, edit the entities in the map extensively (resupply items, spawn points, props, etc). You can go so far as to make a CTF map into a CP map, or vice versa. You need EntEd (
http://www.geocities.com/sysys/ented/) to do this. There was a tutorial on how to do it here:
http://forums.tf2maps.net/showthread.php?t=623&highlight=ented. The nice thing about EntEd is it keeps the maps CRC hash so you only need to upload the altered copy of the map to the server since the server-side copy of a map override the clients, everyone will see the entity layout as they are on the servers map, without having to download a whole new bsp.