The name Sherlock Holmes (and Watson, to a lesser degree) is synonymous with mystery and detective work and that has been so for many years. The character is pretty much already a cultural icon among fans of mystery stories and is well-known even to those who do not read that genre. To officially call him a cultural icon and designate a day in his honor would give Britain some positive public relations opportunities and would not be a costly venture. It might also encourage young people to check out Sherlock Holmes books.
I do not think that any book or movie characters need a day to themselves. There are plenty of real people in the world that are deserving of having a day that a fictional character can go without. Sherlock Holmes was a good character and continues to be but he has not done anything except entertain many people.
While I understand the cultural significance of Sherlock Holmes to the British, giving him a holiday with many real and hugely important historical figures seems a bit crass. Fictional characters, while important to a society, should not be held to the same high regards as people, especially great people of a nations history. His importance is noted by his continual social relevance both in Britain and other countries. There is no need to elevate this fictitious detective to that of a historical game changer.
I just think people have bigger things to take care of. When we get everything running smoothly in the world, maybe people can do things like that. Why do people need the government to make a special day for Sherlock Holmes anyway? If people want to make a special day out of it, just do it. That is how Comic-Con formed.
While Sherlock Holmes is a definitely a cultural icon in Great Britain, I do not think that it warrants the character to have his own day devoted to him. I think that special days like that should be reserved to historical individuals and heroes. Sherlock Holmes was just a work of fiction.