Applying the preposition "at" to a time suggests that the time in question should be regarded as a single moment, while "in" or "on" implies that it is an interval. Most nouns referring to times are either used mostly to refer to moments, or used mostly to refer to intervals. Sometimes, however, nouns which are usually used to refer to moments can be used as intervals, or vice versa. Consider the difference between:
Although "sunset" is normally used to refer to an instant in time, it may be used as in the second example above to refer to an interval (most likely the interval between the time the sun touches the horizon and the time it is completely obscured, though perhaps extending somewhat beyond).
With regard to "the weekend", I would suggest that it is usually used to refer to an interval, and in most cases where a moment would be required common usage would substitute "the end of the [adjective] week" (e.g. "work week", "calendar week", etc.) so as to make clear the exact moment being identified, or perhaps "at the week end" or "at week's end". The phrase "at the weekend" would only make sense if "the weekend" started as some well-defined moment. It's possible for formulate examples that would make sense in business contexts (e.g. an interval might be described as starting "at the weekend" if it starts at the close of business on the last business day prior to Saturday) but in most cases it would be unclear what exact moment was supposed to be described.