If you store Date into varchar datatype, it'll be stored as a blind string. You'll lose all SQL Date/Time manipulation methods. (ie. Date comparisons, Time Span Calculations, Year/Month/Day/Hour/Minute/Seconds extractions, etc.) ... Unless you want to re-invent the wheel by writing your own methods to process the Date "string"!
About VARCHAR ... I advise you to adopt NVARCHAR instead. Though it might consume larger memory foot print in your DB but this can profitably traded with the protection your code from any unexpected/unforeseen errors/exceptions as it accepts any character under any language. Besides the fact that Micorsoft is shifting slowly towards preferring NVARCHAR DataType over others (VARCHAR and NCHAR) in the future releases of SQL ... Using NVARCHAR will at least keep your code "fresh" for long years to come ...