Parentheses around a number to indicate it's a debit (i.e. negative), not a credit (positive), are a common convention in accounting (I guess because the parentheses are more visible than a small minus/dash in front, and it's crucial to distinguish debits from credits;-).
So, it's not surprising that many locales express that convention as the "proper way" to format negative numbers. If you want to use some parts of your locale's conventions, such as the $ sign and the commas, but not others, such as the parentheses, you'll have to use abs(yournumber) instead of just yournumber as the input to locale.currency, then, if yournumber < 0, do a little string manipulation to find the first digit and form a new string with the dash in front of it (or other string manipulations, depending on your desired way to express negative amounts -- e.g. the sign "minus" [dash] could go before the currency symbol, or at the right of the whole string).
Why do you think that whoever's going to be reading that output wants some but not all of the locale's conventions to apply to it, by the way?