Currency exchange in Central America is almost never worth it, unless there’s a specific reason for doing so. Sometimes local merchants prefer local currencies and sometimes public/official reps such as post offices or borders prefer local currencies. However, most people accept US dollars. I’ve been to a few places in Central America and have yet to find a place that doesn’t accept US$. However, it’s possible, so it might be worth it to have $20 each in Cordobas (or other local currency) tucked away for backup.
I would be hesitant to do currency exchange with people on the street. As a general rule, it’s never a good idea to have sizable sums of money in your hands flashing in public. This is the same reason for having $10’s, $5’s and $1’s…you can only display small sums of cash at a time vs flashing a handful of $20’s.
Also, exchanging $ for Cordobas in public is asking for troubles because someone could just take your money and walk away…or a thief could see that you have money and follow you. I would see the exchange fees at banks as being worth it simply for the security offered by banks. Still, use caution when dealing with sums of cash more than $20 at a time.
If you’re exchanging $5 or $10 with people in public it will be fine, but still…just deal in dollars and have $20 backup in Cordobas and you probably won’t ever need to do that. The mighty dollar is generally preferred from what I’ve seen.