Some expressions take multiple parameters, separated by comma. In this case rgb() requires three numbers.
You can enter these numbers directly into the event (so called "hard-coding"), or you can use variables, or get them from the array etc.
But you can't feed to rgb() expression a single string containing three numbers, it won't accept it.
choose() expression is a perfectly good way to do it, however if you have lots of colors, it may become too long and difficult to edit in the future.