I've searched a bit, and from what I can see, both Geometry and Gography stores the coordinates as IEEE 754 64-bit float internally, hence there is no difference in precision... Please review the following code:
DECLARE @geo geography;
SET @geo = geography::Point(1.234567890123456789, 1.234567890123456789, 4326)
SELECT @geo.ToString();
go
DECLARE @geo geometry;
SET @geo = geometry::Point(1.234567890123456789, 1.234567890123456789, 4326)
SELECT @geo.ToString();
go
Both select statements return the same:
POINT (1.2345678901234567 1.2345678901234567)