Is “$5 pesos” proper form in Spanish?
Yes, but it may be more common in some countries than others, also in some countries the $ symbol or the word "pesos" may be found redundant.
The $ symbol is a world accepted symbol for money (although some countries may claim ownership), the fact is that is widely used to represent a currency or money in a lot of countries. Currently there is around 10 to 15 countries that use only the $ symbol to represent their currency, also there are some other countries that will use the $ symbol plus a letter before and/or after (Australian dollar = A$).
In the case of the photo showing the phrase "$5 pesos" it is and is not redundant. Is just an old grammar rule where because the number (digit) represents a currency it must have it's symbol, the case would be different if the phrase was "cinco pesos".
and if curious enough just put $5 pesos in Google to see how widely is used
There is no rule, or a grammar rule while working with currencies, every country has it's own "popular" rules as to how to write currencies, there is some widely spread rules for cheques and other bank related procedures where the person must write currencies, these will vary (not too much) from region to region.
In the case of the poster I wonder if the poster is from Mexico since it seems like a common way to write promotional adverts there.
Both ways are ok since you must apply a bit of common sence
- $ = currency (which ? you may know or not)
- 5 = amount
- pesos = name of the currency
Quick note Becalos is an University or similar in Mexico, the ad is from Mexico, place where is more common to see currencies and values to be written in that way because the proximity with USA which also uses the same currency symbol and due to the fact that the country also uses both currencies or at least the use of both currencies is much more common that other Latin countries. An before somebody jumps here on that, there is some other ways to express Usa's currency like U$s / U$ or USD but the symbol more widely used still the "$"
Update 2: Here are some similar cases: