I would do this with rule replacement. First, you want to have a list of the days of the week in the appropriate order:
days = DayName@{0, 0, #} & /@ Range[5, 11];
Then, you can take tallied results and turn them into a list of rules:
tallied = {{Tuesday, 533}, {Sunday, 487}, {Saturday, 481},
{Friday, 422}, {Thursday, 353}, {Wednesday, 371}};
Note: I deleted the entry for Monday. From there, you can turn tallied into a list of rules, and add a default to insert 0 for missing days:
days /. Append[Rule @@@ tallied, Alternatives @@ days -> 0]
{487, 0, 533, 371, 353, 422, 481}
That's probably the simplest way if you might have missing days.
EDIT to add belisarius' expression for days.
Update for version 10.x
This becomes even easier in version 10, now that we have Associations and their supporting functions, especially the nifty PositionIndex. Keeping the definition for days from above, we have:
(* I don't like Mondays, and besides, I want to make sure the 0s wind up
in the right places. *)
In[1]:= data = DeleteCases[data, Monday];
In[2]:= counts = Join[<|Thread[days -> 0]|>, Counts[data]]
Out[2]= <|Sunday -> 487, Monday -> 0, Tuesday -> 533, Wednesday -> 371,
Thursday -> 353, Friday -> 422, Saturday -> 481|>
This form is convenient if you want a BarChart:
BarChart[counts, ChartLabels -> Automatic]

Otherwise, you can get the ordered counts in a list even more easily:
In[3]:= Lookup[Counts[data], days, 0]
Out[3]= {487, 0, 533, 371, 353, 422, 481}