Hi Stephanie
I agree the schedule / schedule group route is probably the "simplest" way of getting what you need, but if you're interested in using a data table / variable logic I've recently done something similar and accounted for GMT/BST.
My scenario was if it is before 8am, route to yesterday's on-call number, after 8am route to today's.
Started off creating a variable (using Update Data) to get the actual current time (if you're not in the UK, we're currently on BST which is 1 hour ahead of UTC.) With this being fixed logic (between last Sunday of March and last Sunday of October), I need to add 60 minutes between these dates. N.b. clocks change at 1/2am but this doesn't affect the logic result of my requirement so ignored.
Flow.DateTime
AddMinutes(
Flow.StartDateTimeUtc,
If(
Flow.StartDateTimeUtc >= MakeDateTime(
Year(Flow.StartDateTimeUtc),
3,
31 - (DayOfWeek(MakeDateTime(Year(Flow.StartDateTimeUtc), 3, 31, 1, 0, 0)) - 1),
1, 0, 0
)
and
Flow.StartDateTimeUtc < MakeDateTime(
Year(Flow.StartDateTimeUtc),
10,
31 - (DayOfWeek(MakeDateTime(Year(Flow.StartDateTimeUtc), 10, 31, 1, 0, 0)) - 1),
1, 0, 0
),
60,
0
)
)
I then create a second variable to get the actual hour (can probably do as one but I needed additional parts of the date/time):
Flow.Hour
Hour(Flow.DateTime)
From here, you could probably just run a query to your data table, or append to another variable (fixed string for Queue A, B & C) before doing the query. This would depend on if you want 24 options in your Data Table or 3.
Given you've got fairly static logic, you might not even need the Data Table, unless you want to be able to amend the queue targeted on the fly. A decision/switch should do it.
My Data Table for reference, which the teams can update based on their rota. The result of which was put into the number for a Transfer to Number action for external transfer. 
------------------------------
Kieran Exley
Senior Unified Communications Services Specialist
------------------------------